diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index 5fa11c28..f186f6a2 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -1808,6 +1808,7 @@ Move clientScene to clientState Move clientSceneWrapper to clientState Move clientSimulation to clientState Move clientSynchronizationMAnager to clientState +Move clientConnection to clientState diff --git a/src/main/java/electrosphere/client/ClientState.java b/src/main/java/electrosphere/client/ClientState.java index fc096a2c..1f1891ca 100644 --- a/src/main/java/electrosphere/client/ClientState.java +++ b/src/main/java/electrosphere/client/ClientState.java @@ -4,6 +4,7 @@ import electrosphere.client.scene.ClientSceneWrapper; import electrosphere.client.scene.ClientWorldData; import electrosphere.client.sim.ClientSimulation; import electrosphere.entity.scene.Scene; +import electrosphere.net.client.ClientNetworking; import electrosphere.net.synchronization.client.ClientSynchronizationManager; /** @@ -36,4 +37,9 @@ public class ClientState { */ public ClientSynchronizationManager clientSynchronizationManager; + /** + * The client network connection + */ + public ClientNetworking clientConnection; + } diff --git a/src/main/java/electrosphere/client/block/ClientBlockManager.java b/src/main/java/electrosphere/client/block/ClientBlockManager.java index 4d8f81f1..ce6c7358 100644 --- a/src/main/java/electrosphere/client/block/ClientBlockManager.java +++ b/src/main/java/electrosphere/client/block/ClientBlockManager.java @@ -211,7 +211,7 @@ public class ClientBlockManager { boolean rVal = false; lock.acquireUninterruptibly(); if(this.requestedMap.size() < MAX_CONCURRENT_REQUESTS && !this.requestedMap.containsKey(this.getRequestKey(worldX, worldY, worldZ, stride))){ - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestReducedBlockDataMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestReducedBlockDataMessage( worldX, worldY, worldZ, diff --git a/src/main/java/electrosphere/client/fluid/cells/FluidCellManager.java b/src/main/java/electrosphere/client/fluid/cells/FluidCellManager.java index 152e2290..68be0aef 100644 --- a/src/main/java/electrosphere/client/fluid/cells/FluidCellManager.java +++ b/src/main/java/electrosphere/client/fluid/cells/FluidCellManager.java @@ -138,7 +138,7 @@ public class FluidCellManager { ){ // if(!hasRequested.contains(targetKey)){ //client should request chunk data from server - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestFluidDataMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestFluidDataMessage( worldPos.x, worldPos.y, worldPos.z diff --git a/src/main/java/electrosphere/client/fluid/editing/FluidEditing.java b/src/main/java/electrosphere/client/fluid/editing/FluidEditing.java index b67167ac..4e056208 100644 --- a/src/main/java/electrosphere/client/fluid/editing/FluidEditing.java +++ b/src/main/java/electrosphere/client/fluid/editing/FluidEditing.java @@ -16,7 +16,7 @@ public class FluidEditing { */ public static void editFluid(Vector3d position, float editMagnitude, int type, float weight){ if(position != null){ - // Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestUseTerrainPaletteMessage(position.x, position.y, position.z, editMagnitude, weight, type)); + // Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestUseTerrainPaletteMessage(position.x, position.y, position.z, editMagnitude, weight, type)); //calculate kernel size // int numPlacesToCheck = (int)((editMagnitude * 2 + 1) * (editMagnitude * 2 + 1) * (editMagnitude * 2 + 1)); // //create and fill in kernel of positions to check diff --git a/src/main/java/electrosphere/client/interact/ButtonInteraction.java b/src/main/java/electrosphere/client/interact/ButtonInteraction.java index 0b003f83..591102e0 100644 --- a/src/main/java/electrosphere/client/interact/ButtonInteraction.java +++ b/src/main/java/electrosphere/client/interact/ButtonInteraction.java @@ -56,11 +56,11 @@ public class ButtonInteraction { } break; case InteractionData.ON_INTERACT_HARVEST: { int serverEntityId = Globals.clientState.clientSceneWrapper.mapClientToServerId(target.getId()); - Globals.clientConnection.queueOutgoingMessage(EntityMessage.constructinteractMessage(serverEntityId, InteractionData.ON_INTERACT_HARVEST)); + Globals.clientState.clientConnection.queueOutgoingMessage(EntityMessage.constructinteractMessage(serverEntityId, InteractionData.ON_INTERACT_HARVEST)); } break; case InteractionData.ON_INTERACT_DOOR: { int serverEntityId = Globals.clientState.clientSceneWrapper.mapClientToServerId(target.getId()); - Globals.clientConnection.queueOutgoingMessage(EntityMessage.constructinteractMessage(serverEntityId, InteractionData.ON_INTERACT_DOOR)); + Globals.clientState.clientConnection.queueOutgoingMessage(EntityMessage.constructinteractMessage(serverEntityId, InteractionData.ON_INTERACT_DOOR)); } break; case InteractionData.ON_INTERACT_DIALOG: { DialogMenuGenerator.displayEntityDialog(target); @@ -69,7 +69,7 @@ public class ButtonInteraction { LoggerInterface.loggerEngine.DEBUG("Interacting with inventory"); InventoryMainWindow.viewInventory(target); InventoryMainWindow.viewInventory(Globals.playerEntity); - Globals.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestWatchInventoryMessage(Globals.clientState.clientSceneWrapper.mapClientToServerId(target.getId()))); + Globals.clientState.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestWatchInventoryMessage(Globals.clientState.clientSceneWrapper.mapClientToServerId(target.getId()))); } break; default: { throw new Error("Unhandled interaction signal " + interactionData.getOnInteract()); diff --git a/src/main/java/electrosphere/client/interact/ItemActions.java b/src/main/java/electrosphere/client/interact/ItemActions.java index 5fabd246..e9e0635e 100644 --- a/src/main/java/electrosphere/client/interact/ItemActions.java +++ b/src/main/java/electrosphere/client/interact/ItemActions.java @@ -96,7 +96,7 @@ public class ItemActions { if(sendServerMessage){ //tell the server we want the secondary hand item to START doing something - Globals.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestPerformItemActionMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestPerformItemActionMessage( "handRight", ITEM_ACTION_CODE_PRIMARY, ITEM_ACTION_CODE_STATE_ON, @@ -121,7 +121,7 @@ public class ItemActions { cursorPos = new Vector3d(centerPos).add(new Vector3d(eyePos).normalize().mul(-CollisionEngine.DEFAULT_INTERACT_DISTANCE)); } //tell the server we want the secondary hand item to STOP doing something - Globals.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestPerformItemActionMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestPerformItemActionMessage( "handRight", ITEM_ACTION_CODE_PRIMARY, ITEM_ACTION_CODE_STATE_REPEAT, @@ -146,7 +146,7 @@ public class ItemActions { cursorPos = new Vector3d(centerPos).add(new Vector3d(eyePos).normalize().mul(-CollisionEngine.DEFAULT_INTERACT_DISTANCE)); } //tell the server we want the secondary hand item to STOP doing something - Globals.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestPerformItemActionMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestPerformItemActionMessage( "handRight", ITEM_ACTION_CODE_PRIMARY, ITEM_ACTION_CODE_STATE_OFF, @@ -206,7 +206,7 @@ public class ItemActions { //send server message if(sendServerMessage){ //tell the server we want the secondary hand item to START doing something - Globals.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestPerformItemActionMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestPerformItemActionMessage( "handRight", ITEM_ACTION_CODE_SECONDARY, ITEM_ACTION_CODE_STATE_ON, @@ -258,7 +258,7 @@ public class ItemActions { //tell the server we want the secondary hand item to STOP doing something if(sendServerMessage){ - Globals.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestPerformItemActionMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestPerformItemActionMessage( "handRight", ITEM_ACTION_CODE_SECONDARY, ITEM_ACTION_CODE_STATE_REPEAT, @@ -283,7 +283,7 @@ public class ItemActions { cursorPos = new Vector3d(centerPos).add(new Vector3d(eyePos).normalize().mul(-CollisionEngine.DEFAULT_INTERACT_DISTANCE)); } //tell the server we want the secondary hand item to STOP doing something - Globals.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestPerformItemActionMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestPerformItemActionMessage( "handRight", ITEM_ACTION_CODE_SECONDARY, ITEM_ACTION_CODE_STATE_OFF, diff --git a/src/main/java/electrosphere/client/script/ScriptClientVoxelUtils.java b/src/main/java/electrosphere/client/script/ScriptClientVoxelUtils.java index b532160b..76f299e7 100644 --- a/src/main/java/electrosphere/client/script/ScriptClientVoxelUtils.java +++ b/src/main/java/electrosphere/client/script/ScriptClientVoxelUtils.java @@ -129,7 +129,7 @@ public class ScriptClientVoxelUtils { */ @Export public static void clientRequestEditBlock(Vector3i chunkPos, Vector3i blockPos, short blockType, short blockMetadata, int size){ - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestEditBlockMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestEditBlockMessage( chunkPos.x, chunkPos.y, chunkPos.z, blockPos.x, blockPos.y, blockPos.z, blockType, blockMetadata, size @@ -147,7 +147,7 @@ public class ScriptClientVoxelUtils { Vector3i chunkPos = Globals.clientState.clientWorldData.convertRealToWorldSpace(fabCursorPos); Vector3i voxelPos = Globals.clientState.clientWorldData.convertRealToBlockSpace(fabCursorPos); int rotation = Globals.cursorState.getFabCursorRotation(); - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestPlaceFabMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestPlaceFabMessage( chunkPos.x, chunkPos.y, chunkPos.z, voxelPos.x, voxelPos.y, voxelPos.z, rotation, diff --git a/src/main/java/electrosphere/client/terrain/editing/TerrainEditing.java b/src/main/java/electrosphere/client/terrain/editing/TerrainEditing.java index b40b8b21..2f3be82e 100644 --- a/src/main/java/electrosphere/client/terrain/editing/TerrainEditing.java +++ b/src/main/java/electrosphere/client/terrain/editing/TerrainEditing.java @@ -19,7 +19,7 @@ public class TerrainEditing { */ public static void editTerrain(Vector3d position, float editMagnitude, int type, float weight){ if(position != null){ - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestUseTerrainPaletteMessage(position.x, position.y, position.z, editMagnitude, weight, type)); + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestUseTerrainPaletteMessage(position.x, position.y, position.z, editMagnitude, weight, type)); //calculate kernel size // int numPlacesToCheck = (int)((editMagnitude * 2 + 1) * (editMagnitude * 2 + 1) * (editMagnitude * 2 + 1)); // //create and fill in kernel of positions to check @@ -74,7 +74,7 @@ public class TerrainEditing { */ public static void removeTerrainGated(Vector3d position, float editMagnitude, float weight){ if(position != null){ - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestDestroyTerrainMessage(position.x, position.y, position.z, editMagnitude, weight)); + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestDestroyTerrainMessage(position.x, position.y, position.z, editMagnitude, weight)); } } diff --git a/src/main/java/electrosphere/client/terrain/manager/ClientTerrainManager.java b/src/main/java/electrosphere/client/terrain/manager/ClientTerrainManager.java index ddac5c1c..2b8619f4 100644 --- a/src/main/java/electrosphere/client/terrain/manager/ClientTerrainManager.java +++ b/src/main/java/electrosphere/client/terrain/manager/ClientTerrainManager.java @@ -226,7 +226,7 @@ public class ClientTerrainManager { LoggerInterface.loggerEngine.WARNING("ClientTerrainManager: unhandled network message of type" + message.getMessageSubtype()); break; } - Globals.clientConnection.release(message); + Globals.clientState.clientConnection.release(message); } messageQueue.clear(); //evaluate if any terrain chunks have failed to request @@ -300,7 +300,7 @@ public class ClientTerrainManager { boolean rVal = false; lock.acquireUninterruptibly(); if(this.requestedMap.size() < MAX_CONCURRENT_REQUESTS && !this.requestedMap.containsKey(this.getRequestKey(worldX, worldY, worldZ, stride))){ - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestReducedChunkDataMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestReducedChunkDataMessage( worldX, worldY, worldZ, diff --git a/src/main/java/electrosphere/client/ui/components/NaturalInventoryPanel.java b/src/main/java/electrosphere/client/ui/components/NaturalInventoryPanel.java index 1e32916c..5eb0b8dd 100644 --- a/src/main/java/electrosphere/client/ui/components/NaturalInventoryPanel.java +++ b/src/main/java/electrosphere/client/ui/components/NaturalInventoryPanel.java @@ -140,7 +140,7 @@ public class NaturalInventoryPanel { 0 + "", Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.draggedItem.getId()) ); - Globals.clientConnection.queueOutgoingMessage(requestPickupMessage); + Globals.clientState.clientConnection.queueOutgoingMessage(requestPickupMessage); } }); } diff --git a/src/main/java/electrosphere/client/ui/components/ToolbarInventoryPanel.java b/src/main/java/electrosphere/client/ui/components/ToolbarInventoryPanel.java index 44df9e68..6da30b73 100644 --- a/src/main/java/electrosphere/client/ui/components/ToolbarInventoryPanel.java +++ b/src/main/java/electrosphere/client/ui/components/ToolbarInventoryPanel.java @@ -151,7 +151,7 @@ public class ToolbarInventoryPanel { slotId + "", Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.draggedItem.getId()) ); - Globals.clientConnection.queueOutgoingMessage(requestPickupMessage); + Globals.clientState.clientConnection.queueOutgoingMessage(requestPickupMessage); }); } diff --git a/src/main/java/electrosphere/client/ui/menu/debug/ImGuiPlayerEntity.java b/src/main/java/electrosphere/client/ui/menu/debug/ImGuiPlayerEntity.java index be3bbf89..7dd0b46e 100644 --- a/src/main/java/electrosphere/client/ui/menu/debug/ImGuiPlayerEntity.java +++ b/src/main/java/electrosphere/client/ui/menu/debug/ImGuiPlayerEntity.java @@ -79,7 +79,7 @@ public class ImGuiPlayerEntity { // //swap editor/noneditor if(ImGui.button("Swap Entity")){ - Globals.clientConnection.queueOutgoingMessage(CharacterMessage.constructEditorSwapMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructEditorSwapMessage()); } ImGui.sameLine(); diff --git a/src/main/java/electrosphere/client/ui/menu/debug/perf/ImGuiNetworkMonitor.java b/src/main/java/electrosphere/client/ui/menu/debug/perf/ImGuiNetworkMonitor.java index c7d89a14..cf627830 100644 --- a/src/main/java/electrosphere/client/ui/menu/debug/perf/ImGuiNetworkMonitor.java +++ b/src/main/java/electrosphere/client/ui/menu/debug/perf/ImGuiNetworkMonitor.java @@ -45,8 +45,8 @@ public class ImGuiNetworkMonitor { //client network pressure - if(Globals.clientConnection != null){ - long clientPressureNewTotal = Globals.clientConnection.getNumBytesRead(); + if(Globals.clientState.clientConnection != null){ + long clientPressureNewTotal = Globals.clientState.clientConnection.getNumBytesRead(); long clientPressureDelta = clientPressureNewTotal - clientPressureLastValue; clientPressureDataset.addPoint(clientPressureDelta); clientPressureLastValue = clientPressureNewTotal; diff --git a/src/main/java/electrosphere/client/ui/menu/ingame/CraftingWindow.java b/src/main/java/electrosphere/client/ui/menu/ingame/CraftingWindow.java index 9ad24b61..980f888b 100644 --- a/src/main/java/electrosphere/client/ui/menu/ingame/CraftingWindow.java +++ b/src/main/java/electrosphere/client/ui/menu/ingame/CraftingWindow.java @@ -58,13 +58,13 @@ public class CraftingWindow { data, (RecipeData recipe) -> { if(Globals.interactionTarget != null){ - Globals.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestCraftMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestCraftMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.playerEntity.getId()), Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.interactionTarget.getId()), recipe.getId() )); } else { - Globals.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestCraftMessage( + Globals.clientState.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestCraftMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.playerEntity.getId()), Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.playerEntity.getId()), recipe.getId() diff --git a/src/main/java/electrosphere/client/ui/menu/mainmenu/MenuCharacterCreation.java b/src/main/java/electrosphere/client/ui/menu/mainmenu/MenuCharacterCreation.java index 6a4164d1..7af1a031 100644 --- a/src/main/java/electrosphere/client/ui/menu/mainmenu/MenuCharacterCreation.java +++ b/src/main/java/electrosphere/client/ui/menu/mainmenu/MenuCharacterCreation.java @@ -41,8 +41,8 @@ public class MenuCharacterCreation { for(CharacterDescriptionDTO description : Globals.clientCharacterManager.getCharacterList().getCharacters()){ String buttonTitle = "Character " + description.getId(); Div charNameContainer = Div.createRow(Button.createButton(buttonTitle, () -> { - Globals.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestSpawnCharacterMessage(description.getId())); - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestMetadataMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestSpawnCharacterMessage(description.getId())); + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestMetadataMessage()); Globals.threadManager.start(new LoadingThread(LoadingThreadType.CLIENT_WORLD)); })); selectContainer.addChild(charNameContainer); @@ -97,7 +97,7 @@ public class MenuCharacterCreation { FormElement rVal = new FormElement(); rVal.addChild(CharacterCustomizer.createCharacterCustomizerPanel(selectedRace, (ObjectTemplate template) -> { - Globals.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestCreateCharacterMessage(Utilities.stringify(template))); + Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestCreateCharacterMessage(Utilities.stringify(template))); })); return rVal; diff --git a/src/main/java/electrosphere/client/ui/menu/mainmenu/MenuGeneratorsMultiplayer.java b/src/main/java/electrosphere/client/ui/menu/mainmenu/MenuGeneratorsMultiplayer.java index cc84fa44..7a4f006a 100644 --- a/src/main/java/electrosphere/client/ui/menu/mainmenu/MenuGeneratorsMultiplayer.java +++ b/src/main/java/electrosphere/client/ui/menu/mainmenu/MenuGeneratorsMultiplayer.java @@ -64,7 +64,7 @@ public class MenuGeneratorsMultiplayer { rVal.addChild(createButton); createButton.setOnClick(new ClickableElement.ClickEventCallback(){public boolean execute(ClickEvent event){ WindowUtils.replaceMainMenuContents(CharacterCustomizer.createCharacterCustomizerPanel(selectedRace, (ObjectTemplate template) -> { - Globals.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestCreateCharacterMessage(Utilities.stringify(template))); + Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestCreateCharacterMessage(Utilities.stringify(template))); })); return false; }}); diff --git a/src/main/java/electrosphere/controls/CameraHandler.java b/src/main/java/electrosphere/controls/CameraHandler.java index 3758eea8..21c28708 100644 --- a/src/main/java/electrosphere/controls/CameraHandler.java +++ b/src/main/java/electrosphere/controls/CameraHandler.java @@ -151,7 +151,7 @@ public class CameraHandler { perspectiveVal = CameraHandler.CAMERA_PERSPECTIVE_THIRD; } if(Globals.cameraHandler.getTrackPlayerEntity() && Globals.playerEntity != null){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( EntityMessage.constructupdateEntityViewDirMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.playerEntity.getId()), Globals.timekeeper.getNumberOfSimFramesElapsed(), diff --git a/src/main/java/electrosphere/controls/categories/ControlCategoryInGameDebug.java b/src/main/java/electrosphere/controls/categories/ControlCategoryInGameDebug.java index b5a62881..87996520 100644 --- a/src/main/java/electrosphere/controls/categories/ControlCategoryInGameDebug.java +++ b/src/main/java/electrosphere/controls/categories/ControlCategoryInGameDebug.java @@ -63,7 +63,7 @@ public class ControlCategoryInGameDebug { alwaysOnDebugControlList.add(controlMap.get(DEBUG_SWAP_EDITOR_MODE)); controlMap.get(DEBUG_SWAP_EDITOR_MODE).setOnPress(new ControlMethod(){public void execute(MouseState mouseState){ LoggerInterface.loggerEngine.INFO("Swap to/from editor entity"); - Globals.clientConnection.queueOutgoingMessage(CharacterMessage.constructEditorSwapMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructEditorSwapMessage()); }}); controlMap.get(DEBUG_SWAP_EDITOR_MODE).setRepeatTimeout(0.5f * Main.targetFrameRate); diff --git a/src/main/java/electrosphere/engine/Globals.java b/src/main/java/electrosphere/engine/Globals.java index 166727ed..5ae59eef 100644 --- a/src/main/java/electrosphere/engine/Globals.java +++ b/src/main/java/electrosphere/engine/Globals.java @@ -54,7 +54,6 @@ import electrosphere.engine.time.Timekeeper; import electrosphere.entity.Entity; import electrosphere.entity.scene.Scene; import electrosphere.logger.LoggerInterface; -import electrosphere.net.client.ClientNetworking; import electrosphere.net.config.NetConfig; import electrosphere.net.monitor.NetMonitor; import electrosphere.net.server.Server; @@ -169,9 +168,8 @@ public class Globals { public static boolean EXPLICIT_SLEEP = true; // - //Client connection to server + //Signals for running various parts of the engine // - public static ClientNetworking clientConnection; public static boolean RUN_DEMO = false; public static boolean RUN_CLIENT = true; public static boolean RUN_HIDDEN = false; //glfw session will be created with hidden window @@ -753,7 +751,6 @@ public class Globals { Globals.signalSystem = null; Globals.serviceManager = null; Globals.fileWatcherService = null; - Globals.clientConnection = null; Globals.server = null; Globals.serverSynchronizationManager = null; Globals.aiManager = null; diff --git a/src/main/java/electrosphere/engine/Main.java b/src/main/java/electrosphere/engine/Main.java index 87fe1a17..c71248b2 100644 --- a/src/main/java/electrosphere/engine/Main.java +++ b/src/main/java/electrosphere/engine/Main.java @@ -231,10 +231,10 @@ public class Main { /// C L I E N T N E T W O R K I N G S T U F F /// //Why is this its own function? Just to get the networking code out of main() - if(Globals.clientConnection != null){ + if(Globals.clientState.clientConnection != null){ Globals.profiler.beginCpuSample("Client networking"); LoggerInterface.loggerEngine.DEBUG_LOOP("Begin parse client messages"); - Globals.clientConnection.parseMessagesSynchronous(); + Globals.clientState.clientConnection.parseMessagesSynchronous(); Globals.profiler.endCpuSample(); } diff --git a/src/main/java/electrosphere/engine/loadingthreads/ChunkGenerationTestLoading.java b/src/main/java/electrosphere/engine/loadingthreads/ChunkGenerationTestLoading.java index 0862a571..3b831392 100644 --- a/src/main/java/electrosphere/engine/loadingthreads/ChunkGenerationTestLoading.java +++ b/src/main/java/electrosphere/engine/loadingthreads/ChunkGenerationTestLoading.java @@ -81,7 +81,7 @@ public class ChunkGenerationTestLoading { Globals.clientPassword = AuthenticationManager.getHashedString("leveleditor"); ServerConnectionHandler serverPlayerConnection = LoadingUtils.initLocalConnection(true); //wait for player object creation - while(Globals.playerManager.getPlayers().size() < 1 || !Globals.clientConnection.isInitialized()){ + while(Globals.playerManager.getPlayers().size() < 1 || !Globals.clientState.clientConnection.isInitialized()){ try { TimeUnit.MILLISECONDS.sleep(1); } catch (InterruptedException e) { @@ -108,7 +108,7 @@ public class ChunkGenerationTestLoading { LoadingUtils.spawnLocalPlayerTestEntity(serverPlayerConnection, true); //request terrain data - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestMetadataMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestMetadataMessage()); //Run client startup process ClientLoading.loadClientWorld(params); diff --git a/src/main/java/electrosphere/engine/loadingthreads/ClientLoading.java b/src/main/java/electrosphere/engine/loadingthreads/ClientLoading.java index 61ae0617..207f6b12 100644 --- a/src/main/java/electrosphere/engine/loadingthreads/ClientLoading.java +++ b/src/main/java/electrosphere/engine/loadingthreads/ClientLoading.java @@ -80,9 +80,9 @@ public class ClientLoading { while(Globals.gameConfigCurrent.getCreatureTypeLoader().getPlayableRaces().size() == 0){ if(framesWaited % LORE_RESEND_FRAMES == (LORE_RESEND_FRAMES - 1)){ //request playable races - Globals.clientConnection.queueOutgoingMessage(LoreMessage.constructRequestRacesMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(LoreMessage.constructRequestRacesMessage()); //request characters available to this player - Globals.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestCharacterListMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestCharacterListMessage()); } try { TimeUnit.MILLISECONDS.sleep(5); @@ -204,8 +204,8 @@ public class ClientLoading { private static void initClientThread(){ //start client networking if(Globals.RUN_CLIENT){ - Globals.clientConnection = new ClientNetworking(NetUtils.getAddress(),NetUtils.getPort()); - Globals.threadManager.start(ThreadLabel.NETWORKING_CLIENT, new Thread(Globals.clientConnection)); + Globals.clientState.clientConnection = new ClientNetworking(NetUtils.getAddress(),NetUtils.getPort()); + Globals.threadManager.start(ThreadLabel.NETWORKING_CLIENT, new Thread(Globals.clientState.clientConnection)); } } diff --git a/src/main/java/electrosphere/engine/loadingthreads/DebugSPWorldLoading.java b/src/main/java/electrosphere/engine/loadingthreads/DebugSPWorldLoading.java index 695efdb5..0a332023 100644 --- a/src/main/java/electrosphere/engine/loadingthreads/DebugSPWorldLoading.java +++ b/src/main/java/electrosphere/engine/loadingthreads/DebugSPWorldLoading.java @@ -76,7 +76,7 @@ public class DebugSPWorldLoading { LoadingUtils.spawnLocalPlayerTestEntity(serverPlayerConnection, false); //request terrain data - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestMetadataMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestMetadataMessage()); //Run client startup process ClientLoading.loadClientWorld(params); diff --git a/src/main/java/electrosphere/engine/loadingthreads/LevelEditorLoading.java b/src/main/java/electrosphere/engine/loadingthreads/LevelEditorLoading.java index 06a95a8d..6853f4bd 100644 --- a/src/main/java/electrosphere/engine/loadingthreads/LevelEditorLoading.java +++ b/src/main/java/electrosphere/engine/loadingthreads/LevelEditorLoading.java @@ -77,7 +77,7 @@ public class LevelEditorLoading { Globals.clientPassword = AuthenticationManager.getHashedString("leveleditor"); ServerConnectionHandler serverPlayerConnection = LoadingUtils.initLocalConnection(true); //wait for player object creation - while(Globals.playerManager.getPlayers().size() < 1 || !Globals.clientConnection.isInitialized()){ + while(Globals.playerManager.getPlayers().size() < 1 || !Globals.clientState.clientConnection.isInitialized()){ try { TimeUnit.MILLISECONDS.sleep(1); } catch (InterruptedException e) { @@ -104,7 +104,7 @@ public class LevelEditorLoading { LoadingUtils.spawnLocalPlayerTestEntity(serverPlayerConnection, true); //request terrain data - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestMetadataMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestMetadataMessage()); //Run client startup process ClientLoading.loadClientWorld(params); diff --git a/src/main/java/electrosphere/engine/loadingthreads/LevelLoading.java b/src/main/java/electrosphere/engine/loadingthreads/LevelLoading.java index 36620aa7..96a24a5c 100644 --- a/src/main/java/electrosphere/engine/loadingthreads/LevelLoading.java +++ b/src/main/java/electrosphere/engine/loadingthreads/LevelLoading.java @@ -75,7 +75,7 @@ public class LevelLoading { LoadingUtils.spawnLocalPlayerTestEntity(serverPlayerConnection, false); //request terrain data - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestMetadataMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestMetadataMessage()); //Run client startup process ClientLoading.loadClientWorld(params); diff --git a/src/main/java/electrosphere/engine/loadingthreads/LoadingUtils.java b/src/main/java/electrosphere/engine/loadingthreads/LoadingUtils.java index fa866e59..a011dcd6 100644 --- a/src/main/java/electrosphere/engine/loadingthreads/LoadingUtils.java +++ b/src/main/java/electrosphere/engine/loadingthreads/LoadingUtils.java @@ -71,8 +71,8 @@ public class LoadingUtils { static void initClientThread(){ //start client networking if(Globals.RUN_CLIENT){ - Globals.clientConnection = new ClientNetworking(NetUtils.getAddress(),NetUtils.getPort()); - Globals.threadManager.start(ThreadLabel.NETWORKING_CLIENT, new Thread(Globals.clientConnection)); + Globals.clientState.clientConnection = new ClientNetworking(NetUtils.getAddress(),NetUtils.getPort()); + Globals.threadManager.start(ThreadLabel.NETWORKING_CLIENT, new Thread(Globals.clientState.clientConnection)); } } @@ -100,8 +100,8 @@ public class LoadingUtils { //start server communication thread rVal = Globals.server.addLocalPlayer(serverInput, serverOutput); //start client communication thread - Globals.clientConnection = new ClientNetworking(clientInput,clientOutput); - Globals.threadManager.start(ThreadLabel.NETWORKING_CLIENT, new Thread(Globals.clientConnection)); + Globals.clientState.clientConnection = new ClientNetworking(clientInput,clientOutput); + Globals.threadManager.start(ThreadLabel.NETWORKING_CLIENT, new Thread(Globals.clientState.clientConnection)); } catch (IOException e) { LoggerInterface.loggerNetworking.ERROR(e); } @@ -181,7 +181,7 @@ public class LoadingUtils { //set player character template serverPlayerConnection.setCreatureTemplate(template); Character chara = Globals.characterService.createCharacter(template, serverPlayerConnection.getPlayerId()); - Globals.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestSpawnCharacterMessage(chara.getId() + "")); + Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestSpawnCharacterMessage(chara.getId() + "")); //set player world-space coordinates Player playerObject = Globals.playerManager.getFirstPlayer(); diff --git a/src/main/java/electrosphere/engine/loadingthreads/MainMenuLoading.java b/src/main/java/electrosphere/engine/loadingthreads/MainMenuLoading.java index 53cb92d1..2c5c0603 100644 --- a/src/main/java/electrosphere/engine/loadingthreads/MainMenuLoading.java +++ b/src/main/java/electrosphere/engine/loadingthreads/MainMenuLoading.java @@ -52,7 +52,7 @@ public class MainMenuLoading { private static void resetClientState(){ Globals.playerEntity = null; Globals.clientState.clientSimulation = null; - Globals.clientConnection.setShouldDisconnect(true); + Globals.clientState.clientConnection.setShouldDisconnect(true); Globals.renderingEngine.getPostProcessingPipeline().setApplyBlur(false); } diff --git a/src/main/java/electrosphere/engine/loadingthreads/ViewportLoading.java b/src/main/java/electrosphere/engine/loadingthreads/ViewportLoading.java index 28ee90fd..91a0c85f 100644 --- a/src/main/java/electrosphere/engine/loadingthreads/ViewportLoading.java +++ b/src/main/java/electrosphere/engine/loadingthreads/ViewportLoading.java @@ -65,7 +65,7 @@ public class ViewportLoading { LoggerInterface.loggerEngine.INFO("[Server]Finished loading level editor"); //request terrain data - Globals.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestMetadataMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(TerrainMessage.constructRequestMetadataMessage()); //block for client world data while(Globals.clientState.clientWorldData == null){ diff --git a/src/main/java/electrosphere/entity/btree/StateTransitionUtil.java b/src/main/java/electrosphere/entity/btree/StateTransitionUtil.java index e2aeda82..5c20899f 100644 --- a/src/main/java/electrosphere/entity/btree/StateTransitionUtil.java +++ b/src/main/java/electrosphere/entity/btree/StateTransitionUtil.java @@ -129,7 +129,7 @@ public class StateTransitionUtil { //Calculate offset to start the animation at double animationOffset = 0.0001; if(this.accountForSync){ - int delay = Globals.clientConnection.getDelay(); + int delay = Globals.clientState.clientConnection.getDelay(); double simFrameTime = Globals.timekeeper.getSimFrameTime(); animationOffset = delay * simFrameTime; } diff --git a/src/main/java/electrosphere/entity/state/attack/ClientAttackTree.java b/src/main/java/electrosphere/entity/state/attack/ClientAttackTree.java index c39a69e0..2eb13094 100644 --- a/src/main/java/electrosphere/entity/state/attack/ClientAttackTree.java +++ b/src/main/java/electrosphere/entity/state/attack/ClientAttackTree.java @@ -275,7 +275,7 @@ public class ClientAttackTree implements BehaviorTree { this.setAttackMoveTypeActive(attackType); currentMoveset = this.getMoveset(attackType); if(currentMoveset != null){ - Globals.clientConnection.queueOutgoingMessage(EntityMessage.constructstartAttackMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(EntityMessage.constructstartAttackMessage()); } } } diff --git a/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java b/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java index c98b7687..4c6bed77 100644 --- a/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java +++ b/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java @@ -95,7 +95,7 @@ public class ClientEquipState implements BehaviorTree { String pointName = point.getEquipPointId(); int serverSideID = Globals.clientState.clientSceneWrapper.mapClientToServerId(toEquip.getId()); NetworkMessage requestPickupMessage = InventoryMessage.constructclientRequestEquipItemMessage(pointName, serverSideID); - Globals.clientConnection.queueOutgoingMessage(requestPickupMessage); + Globals.clientState.clientConnection.queueOutgoingMessage(requestPickupMessage); } } @@ -314,7 +314,7 @@ public class ClientEquipState implements BehaviorTree { if(hasEquipped){ //send packet to server requesting to equip NetworkMessage requestUnequipMessage = InventoryMessage.constructclientRequestUnequipItemMessage(pointId); - Globals.clientConnection.queueOutgoingMessage(requestUnequipMessage); + Globals.clientState.clientConnection.queueOutgoingMessage(requestUnequipMessage); } } diff --git a/src/main/java/electrosphere/entity/state/equip/ClientToolbarState.java b/src/main/java/electrosphere/entity/state/equip/ClientToolbarState.java index 7732ea5c..0a417be0 100644 --- a/src/main/java/electrosphere/entity/state/equip/ClientToolbarState.java +++ b/src/main/java/electrosphere/entity/state/equip/ClientToolbarState.java @@ -82,7 +82,7 @@ public class ClientToolbarState implements BehaviorTree { public void attemptAddToToolbar(Entity item, int toolbarSlot){ if(item != null){ NetworkMessage requestUnequipMessage = InventoryMessage.constructclientRequestAddToolbarMessage(Globals.clientState.clientSceneWrapper.mapClientToServerId(item.getId()), toolbarSlot); - Globals.clientConnection.queueOutgoingMessage(requestUnequipMessage); + Globals.clientState.clientConnection.queueOutgoingMessage(requestUnequipMessage); } } @@ -311,7 +311,7 @@ public class ClientToolbarState implements BehaviorTree { value = value + MAX_TOOLBAR_SIZE; } value = value % MAX_TOOLBAR_SIZE; - Globals.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientUpdateToolbarMessage(value)); + Globals.clientState.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientUpdateToolbarMessage(value)); } diff --git a/src/main/java/electrosphere/entity/state/inventory/ClientInventoryState.java b/src/main/java/electrosphere/entity/state/inventory/ClientInventoryState.java index 7ad3b34e..e460158a 100644 --- a/src/main/java/electrosphere/entity/state/inventory/ClientInventoryState.java +++ b/src/main/java/electrosphere/entity/state/inventory/ClientInventoryState.java @@ -294,7 +294,7 @@ public class ClientInventoryState implements BehaviorTree { NetworkMessage requestPickupMessage = InventoryMessage.constructclientRequestAddNaturalMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(item.getId()) ); - Globals.clientConnection.queueOutgoingMessage(requestPickupMessage); + Globals.clientState.clientConnection.queueOutgoingMessage(requestPickupMessage); } /** @@ -309,7 +309,7 @@ public class ClientInventoryState implements BehaviorTree { Globals.clientState.clientSceneWrapper.mapClientToServerId(item.getId()), ItemUtils.getType(item) ); - Globals.clientConnection.queueOutgoingMessage(requestPickupMessage); + Globals.clientState.clientConnection.queueOutgoingMessage(requestPickupMessage); } /** @@ -352,7 +352,7 @@ public class ClientInventoryState implements BehaviorTree { public static void clientAttemptEjectItem(Entity creature, Entity item){ //if we're the client, tell the server we want to try the transform NetworkMessage requestPickupMessage = InventoryMessage.constructremoveItemFromInventoryMessage(Globals.clientState.clientSceneWrapper.mapClientToServerId(item.getId())); - Globals.clientConnection.queueOutgoingMessage(requestPickupMessage); + Globals.clientState.clientConnection.queueOutgoingMessage(requestPickupMessage); if(Globals.virtualAudioSourceManager != null){ Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(item)); if(itemData != null && itemData.getItemAudio() != null && itemData.getItemAudio().getUIReleaseAudio() != null){ diff --git a/src/main/java/electrosphere/entity/state/movement/editor/ClientEditorMovementTree.java b/src/main/java/electrosphere/entity/state/movement/editor/ClientEditorMovementTree.java index 2ffd921c..9b3ece00 100644 --- a/src/main/java/electrosphere/entity/state/movement/editor/ClientEditorMovementTree.java +++ b/src/main/java/electrosphere/entity/state/movement/editor/ClientEditorMovementTree.java @@ -140,7 +140,7 @@ public class ClientEditorMovementTree implements BehaviorTree { Quaterniond rotation = EntityUtils.getRotation(parent); float velocity = CreatureUtils.getVelocity(parent); if(this.parent == Globals.playerEntity){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( EntityMessage.constructmoveUpdateMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(parent.getId()), Globals.timekeeper.getNumberOfSimFramesElapsed(), @@ -170,7 +170,7 @@ public class ClientEditorMovementTree implements BehaviorTree { Quaterniond rotation = EntityUtils.getRotation(parent); float velocity = CreatureUtils.getVelocity(parent); if(this.parent == Globals.playerEntity){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( EntityMessage.constructmoveUpdateMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(parent.getId()), Globals.timekeeper.getNumberOfSimFramesElapsed(), diff --git a/src/main/java/electrosphere/entity/state/movement/groundmove/ClientGroundMovementTree.java b/src/main/java/electrosphere/entity/state/movement/groundmove/ClientGroundMovementTree.java index a1eabffc..644a628c 100644 --- a/src/main/java/electrosphere/entity/state/movement/groundmove/ClientGroundMovementTree.java +++ b/src/main/java/electrosphere/entity/state/movement/groundmove/ClientGroundMovementTree.java @@ -148,7 +148,7 @@ public class ClientGroundMovementTree implements BehaviorTree { Quaterniond rotation = EntityUtils.getRotation(parent); float velocity = CreatureUtils.getVelocity(parent); if(this.parent == Globals.playerEntity){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( EntityMessage.constructmoveUpdateMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(parent.getId()), Globals.timekeeper.getNumberOfSimFramesElapsed(), @@ -178,7 +178,7 @@ public class ClientGroundMovementTree implements BehaviorTree { Quaterniond rotation = EntityUtils.getRotation(parent); float velocity = CreatureUtils.getVelocity(parent); if(this.parent == Globals.playerEntity){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( EntityMessage.constructmoveUpdateMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(parent.getId()), Globals.timekeeper.getNumberOfSimFramesElapsed(), @@ -296,7 +296,7 @@ public class ClientGroundMovementTree implements BehaviorTree { default: break; } - Globals.clientConnection.release(message); + Globals.clientState.clientConnection.release(message); } // System.out.println(movementVector + " " + velocity * Main.deltaTime); diff --git a/src/main/java/electrosphere/entity/state/movement/jump/ClientJumpTree.java b/src/main/java/electrosphere/entity/state/movement/jump/ClientJumpTree.java index f8334811..1b45be94 100644 --- a/src/main/java/electrosphere/entity/state/movement/jump/ClientJumpTree.java +++ b/src/main/java/electrosphere/entity/state/movement/jump/ClientJumpTree.java @@ -80,7 +80,7 @@ public class ClientJumpTree implements BehaviorTree { *

*/ public void start(){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( SynchronizationMessage.constructClientRequestBTreeActionMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(parent.getId()), BehaviorTreeIdEnums.BTREE_CLIENTJUMPTREE_ID, @@ -299,7 +299,7 @@ public class ClientJumpTree implements BehaviorTree { *

*/ public void interrupt(){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( SynchronizationMessage.constructClientRequestBTreeActionMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(parent.getId()), BehaviorTreeIdEnums.BTREE_CLIENTJUMPTREE_ID, diff --git a/src/main/java/electrosphere/entity/state/movement/sprint/ClientSprintTree.java b/src/main/java/electrosphere/entity/state/movement/sprint/ClientSprintTree.java index aaf8e71e..5dc74457 100644 --- a/src/main/java/electrosphere/entity/state/movement/sprint/ClientSprintTree.java +++ b/src/main/java/electrosphere/entity/state/movement/sprint/ClientSprintTree.java @@ -61,7 +61,7 @@ public class ClientSprintTree implements BehaviorTree { *

*/ public void start(){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( SynchronizationMessage.constructClientRequestBTreeActionMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(parent.getId()), BehaviorTreeIdEnums.BTREE_CLIENTSPRINTTREE_ID, @@ -158,7 +158,7 @@ public class ClientSprintTree implements BehaviorTree { *

*/ public void interrupt(){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( SynchronizationMessage.constructClientRequestBTreeActionMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(parent.getId()), BehaviorTreeIdEnums.BTREE_CLIENTSPRINTTREE_ID, diff --git a/src/main/java/electrosphere/entity/state/movement/walk/ClientWalkTree.java b/src/main/java/electrosphere/entity/state/movement/walk/ClientWalkTree.java index 8ca8e0a5..ce52daab 100644 --- a/src/main/java/electrosphere/entity/state/movement/walk/ClientWalkTree.java +++ b/src/main/java/electrosphere/entity/state/movement/walk/ClientWalkTree.java @@ -143,7 +143,7 @@ public class ClientWalkTree implements BehaviorTree { *

*/ public void start(){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( SynchronizationMessage.constructClientRequestBTreeActionMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(parent.getId()), BehaviorTreeIdEnums.BTREE_CLIENTWALKTREE_ID, @@ -159,7 +159,7 @@ public class ClientWalkTree implements BehaviorTree { *

*/ public void interrupt(){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( SynchronizationMessage.constructClientRequestBTreeActionMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(parent.getId()), BehaviorTreeIdEnums.BTREE_CLIENTWALKTREE_ID, diff --git a/src/main/java/electrosphere/entity/state/stance/ClientStanceComponent.java b/src/main/java/electrosphere/entity/state/stance/ClientStanceComponent.java index 7dc357ed..a3ed1861 100644 --- a/src/main/java/electrosphere/entity/state/stance/ClientStanceComponent.java +++ b/src/main/java/electrosphere/entity/state/stance/ClientStanceComponent.java @@ -109,7 +109,7 @@ public class ClientStanceComponent implements BehaviorTree { *

*/ public void start(){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( SynchronizationMessage.constructClientRequestBTreeActionMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(parent.getId()), BehaviorTreeIdEnums.BTREE_CLIENTSTANCECOMPONENT_ID, @@ -125,7 +125,7 @@ public class ClientStanceComponent implements BehaviorTree { *

*/ public void interrupt(){ - Globals.clientConnection.queueOutgoingMessage( + Globals.clientState.clientConnection.queueOutgoingMessage( SynchronizationMessage.constructClientRequestBTreeActionMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(parent.getId()), BehaviorTreeIdEnums.BTREE_CLIENTSTANCECOMPONENT_ID, diff --git a/src/main/java/electrosphere/net/client/ClientNetworking.java b/src/main/java/electrosphere/net/client/ClientNetworking.java index 27da88ff..0b509333 100644 --- a/src/main/java/electrosphere/net/client/ClientNetworking.java +++ b/src/main/java/electrosphere/net/client/ClientNetworking.java @@ -250,7 +250,7 @@ public class ClientNetworking implements Runnable { } //null out global state - Globals.clientConnection = null; + Globals.clientState.clientConnection = null; LoggerInterface.loggerNetworking.INFO("Client networking thread ended"); diff --git a/src/main/java/electrosphere/net/client/protocol/AuthProtocol.java b/src/main/java/electrosphere/net/client/protocol/AuthProtocol.java index 36577b69..aa8b03f9 100644 --- a/src/main/java/electrosphere/net/client/protocol/AuthProtocol.java +++ b/src/main/java/electrosphere/net/client/protocol/AuthProtocol.java @@ -18,15 +18,15 @@ public class AuthProtocol implements ClientProtocolTemplate { case AUTHREQUEST: //Try login //TODO: actually get user/pass - Globals.clientConnection.queueOutgoingMessage(AuthMessage.constructAuthDetailsMessage(Globals.clientUsername,Globals.clientPassword)); + Globals.clientState.clientConnection.queueOutgoingMessage(AuthMessage.constructAuthDetailsMessage(Globals.clientUsername,Globals.clientPassword)); break; case AUTHSUCCESS: //clean password hash from memory Globals.clientPassword = ""; //request playable races - Globals.clientConnection.queueOutgoingMessage(LoreMessage.constructRequestRacesMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(LoreMessage.constructRequestRacesMessage()); //request characters available to this player - Globals.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestCharacterListMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestCharacterListMessage()); //log that we succeeded LoggerInterface.loggerAuth.INFO("Successfully logged in"); break; diff --git a/src/main/java/electrosphere/net/client/protocol/CharacterProtocol.java b/src/main/java/electrosphere/net/client/protocol/CharacterProtocol.java index 308d91b4..38ebc67b 100644 --- a/src/main/java/electrosphere/net/client/protocol/CharacterProtocol.java +++ b/src/main/java/electrosphere/net/client/protocol/CharacterProtocol.java @@ -28,8 +28,8 @@ public class CharacterProtocol implements ClientProtocolTemplate { throw new Error("Unsupported entity type!"); } } - Globals.clientConnection.release(message); + Globals.clientState.clientConnection.release(message); } break; // @@ -112,7 +112,7 @@ public class EntityProtocol implements ClientProtocolTemplate { //TODO: bounce message LoggerInterface.loggerNetworking.WARNING("Received property packet for entity that does not exist on client!"); } - Globals.clientConnection.release(message); + Globals.clientState.clientConnection.release(message); } break; case ATTACHENTITYTOENTITY: { Entity child = Globals.clientState.clientSceneWrapper.getEntityFromServerId(message.getentityID()); @@ -127,7 +127,7 @@ public class EntityProtocol implements ClientProtocolTemplate { new Quaterniond() ); } - Globals.clientConnection.release(message); + Globals.clientState.clientConnection.release(message); } break; case MOVEUPDATE: { Entity target = Globals.clientState.clientSceneWrapper.getEntityFromServerId(message.getentityID()); @@ -158,7 +158,7 @@ public class EntityProtocol implements ClientProtocolTemplate { ClientEntityUtils.destroyEntity(entity); } Globals.clientState.clientSynchronizationManager.addDeletedId(message.getentityID()); - Globals.clientConnection.release(message); + Globals.clientState.clientConnection.release(message); } break; diff --git a/src/main/java/electrosphere/net/client/protocol/ServerProtocol.java b/src/main/java/electrosphere/net/client/protocol/ServerProtocol.java index e76206d7..cc3bdd44 100644 --- a/src/main/java/electrosphere/net/client/protocol/ServerProtocol.java +++ b/src/main/java/electrosphere/net/client/protocol/ServerProtocol.java @@ -19,11 +19,11 @@ public class ServerProtocol implements ClientProtocolTemplate { public void handleSyncMessage(ServerMessage message) { switch(message.getMessageSubtype()){ case PING: - Globals.clientConnection.queueOutgoingMessage(ServerMessage.constructPongMessage()); + Globals.clientState.clientConnection.queueOutgoingMessage(ServerMessage.constructPongMessage()); break; case PONG: //let the networking loop know we received a pong message - Globals.clientConnection.markReceivedPongMessage(); + Globals.clientState.clientConnection.markReceivedPongMessage(); break; case DISCONNECT: { LoggerInterface.loggerNetworking.WARNING("Server sent signal to disconnect!"); diff --git a/src/main/java/electrosphere/net/client/protocol/TerrainProtocol.java b/src/main/java/electrosphere/net/client/protocol/TerrainProtocol.java index 7bb2b433..3a42b143 100644 --- a/src/main/java/electrosphere/net/client/protocol/TerrainProtocol.java +++ b/src/main/java/electrosphere/net/client/protocol/TerrainProtocol.java @@ -46,7 +46,7 @@ public class TerrainProtocol implements ClientProtocolTemplate { message.getworldSizeDiscrete() ); Globals.clientState.clientSceneWrapper.getCollisionEngine().setCollisionWorldData(new CollisionWorldData()); - Globals.clientConnection.getMessageProtocol().setHasReceivedWorld(true); + Globals.clientState.clientConnection.getMessageProtocol().setHasReceivedWorld(true); break; case SPAWNPOSITION: LoggerInterface.loggerNetworking.WARNING("Received spawnPosition packet on client. This is deprecated!"); diff --git a/src/main/java/electrosphere/net/synchronization/client/ClientSynchronizationManager.java b/src/main/java/electrosphere/net/synchronization/client/ClientSynchronizationManager.java index 7bcf9e60..b3494984 100644 --- a/src/main/java/electrosphere/net/synchronization/client/ClientSynchronizationManager.java +++ b/src/main/java/electrosphere/net/synchronization/client/ClientSynchronizationManager.java @@ -187,7 +187,7 @@ public class ClientSynchronizationManager { } for(SynchronizationMessage message : messagesToClear){ messages.remove(message); - Globals.clientConnection.release(message); + Globals.clientState.clientConnection.release(message); } Set deletionKeys = this.deletedEntityIds.keySet(); for(int key : deletionKeys){ diff --git a/src/test/java/electrosphere/test/template/extensions/StateCleanupCheckerExtension.java b/src/test/java/electrosphere/test/template/extensions/StateCleanupCheckerExtension.java index 4fb7279d..9f9639f9 100644 --- a/src/test/java/electrosphere/test/template/extensions/StateCleanupCheckerExtension.java +++ b/src/test/java/electrosphere/test/template/extensions/StateCleanupCheckerExtension.java @@ -21,7 +21,6 @@ public class StateCleanupCheckerExtension implements AfterEachCallback { Globals.renderingEngine, Globals.audioEngine, Globals.javaPID, - Globals.clientConnection, Globals.server, Globals.serverSynchronizationManager, Globals.playerManager,