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; } }