From f7790931bc63305d379ecd5f7ff699f54f284672 Mon Sep 17 00:00:00 2001
From: austin
Date: Thu, 15 May 2025 12:12:57 -0400
Subject: [PATCH] move client networking to clientState
---
docs/src/progress/renderertodo.md | 1 +
src/main/java/electrosphere/client/ClientState.java | 6 ++++++
.../client/block/ClientBlockManager.java | 2 +-
.../client/fluid/cells/FluidCellManager.java | 2 +-
.../client/fluid/editing/FluidEditing.java | 2 +-
.../client/interact/ButtonInteraction.java | 6 +++---
.../electrosphere/client/interact/ItemActions.java | 12 ++++++------
.../client/script/ScriptClientVoxelUtils.java | 4 ++--
.../client/terrain/editing/TerrainEditing.java | 4 ++--
.../client/terrain/manager/ClientTerrainManager.java | 4 ++--
.../client/ui/components/NaturalInventoryPanel.java | 2 +-
.../client/ui/components/ToolbarInventoryPanel.java | 2 +-
.../client/ui/menu/debug/ImGuiPlayerEntity.java | 2 +-
.../ui/menu/debug/perf/ImGuiNetworkMonitor.java | 4 ++--
.../client/ui/menu/ingame/CraftingWindow.java | 4 ++--
.../ui/menu/mainmenu/MenuCharacterCreation.java | 6 +++---
.../ui/menu/mainmenu/MenuGeneratorsMultiplayer.java | 2 +-
.../java/electrosphere/controls/CameraHandler.java | 2 +-
.../categories/ControlCategoryInGameDebug.java | 2 +-
src/main/java/electrosphere/engine/Globals.java | 5 +----
src/main/java/electrosphere/engine/Main.java | 4 ++--
.../loadingthreads/ChunkGenerationTestLoading.java | 4 ++--
.../engine/loadingthreads/ClientLoading.java | 8 ++++----
.../engine/loadingthreads/DebugSPWorldLoading.java | 2 +-
.../engine/loadingthreads/LevelEditorLoading.java | 4 ++--
.../engine/loadingthreads/LevelLoading.java | 2 +-
.../engine/loadingthreads/LoadingUtils.java | 10 +++++-----
.../engine/loadingthreads/MainMenuLoading.java | 2 +-
.../engine/loadingthreads/ViewportLoading.java | 2 +-
.../entity/btree/StateTransitionUtil.java | 2 +-
.../entity/state/attack/ClientAttackTree.java | 2 +-
.../entity/state/equip/ClientEquipState.java | 4 ++--
.../entity/state/equip/ClientToolbarState.java | 4 ++--
.../entity/state/inventory/ClientInventoryState.java | 6 +++---
.../movement/editor/ClientEditorMovementTree.java | 4 ++--
.../groundmove/ClientGroundMovementTree.java | 6 +++---
.../entity/state/movement/jump/ClientJumpTree.java | 4 ++--
.../state/movement/sprint/ClientSprintTree.java | 4 ++--
.../entity/state/movement/walk/ClientWalkTree.java | 4 ++--
.../entity/state/stance/ClientStanceComponent.java | 4 ++--
.../electrosphere/net/client/ClientNetworking.java | 2 +-
.../net/client/protocol/AuthProtocol.java | 6 +++---
.../net/client/protocol/CharacterProtocol.java | 4 ++--
.../net/client/protocol/EntityProtocol.java | 8 ++++----
.../net/client/protocol/ServerProtocol.java | 4 ++--
.../net/client/protocol/TerrainProtocol.java | 2 +-
.../client/ClientSynchronizationManager.java | 2 +-
.../extensions/StateCleanupCheckerExtension.java | 1 -
48 files changed, 94 insertions(+), 91 deletions(-)
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,