Renderer/src/main/java/electrosphere/net/client/protocol/ClientProtocol.java
2024-03-23 23:19:06 -04:00

89 lines
3.1 KiB
Java

package electrosphere.net.client.protocol;
import electrosphere.client.scene.ClientWorldData;
import electrosphere.engine.Globals;
import electrosphere.engine.Main;
import electrosphere.entity.Entity;
import electrosphere.entity.EntityUtils;
import electrosphere.entity.types.creature.CreatureUtils;
import electrosphere.entity.types.attach.AttachUtils;
import electrosphere.entity.types.item.ItemUtils;
import electrosphere.logger.LoggerInterface;
import electrosphere.net.parser.net.message.AuthMessage;
import electrosphere.net.parser.net.message.CharacterMessage;
import electrosphere.net.parser.net.message.EntityMessage;
import electrosphere.net.parser.net.message.InventoryMessage;
import electrosphere.net.parser.net.message.LoreMessage;
import electrosphere.net.parser.net.message.NetworkMessage;
import electrosphere.net.parser.net.message.PlayerMessage;
import electrosphere.net.parser.net.message.ServerMessage;
import electrosphere.net.parser.net.message.SynchronizationMessage;
import electrosphere.net.parser.net.message.TerrainMessage;
import org.joml.Vector2f;
import org.joml.Vector3f;
public class ClientProtocol {
boolean isLoading = true;
boolean hasReceivedWorld = false;
public void handleMessage(NetworkMessage message){
Globals.profiler.beginAggregateCpuSample("ClientProtocol.handleMessage");
switch(message.getType()){
case ENTITY_MESSAGE:
EntityProtocol.handleEntityMessage((EntityMessage)message);
break;
case PLAYER_MESSAGE:
PlayerProtocol.handlePlayerMessage((PlayerMessage)message);
break;
case TERRAIN_MESSAGE:
TerrainProtocol.handleTerrainMessage((TerrainMessage)message);
break;
case AUTH_MESSAGE:
AuthProtocol.handleAuthenticationMessage((AuthMessage)message);
break;
case SERVER_MESSAGE:
ServerProtocol.handleServerMessage((ServerMessage)message);
break;
case LORE_MESSAGE:
LoreProtocol.handleLoreMessage((LoreMessage)message);
break;
case CHARACTER_MESSAGE:
CharacterProtocol.handleCharacterMessage((CharacterMessage)message);
break;
case INVENTORY_MESSAGE:
InventoryProtocol.handleInventoryMessage((InventoryMessage)message);
break;
case SYNCHRONIZATION_MESSAGE:
SynchronizationProtocol.handleSynchronizationMessage((SynchronizationMessage)message);
break;
}
Globals.profiler.endCpuSample();
}
// void handleStatusMessage(StatusMessage message){
// switch(message.getMessageSubtype()){
// case READY:
// isLoading = false;
// break;
// }
// }
public void setHasReceivedWorld(boolean hasReceivedWorld){
this.hasReceivedWorld = hasReceivedWorld;
}
public boolean isLoading(){
return isLoading;
}
public boolean hasReceivedWorld(){
return hasReceivedWorld;
}
}