diff --git a/src/main/java/electrosphere/client/ClientState.java b/src/main/java/electrosphere/client/ClientState.java index ca171c03..f3409ae3 100644 --- a/src/main/java/electrosphere/client/ClientState.java +++ b/src/main/java/electrosphere/client/ClientState.java @@ -142,6 +142,31 @@ public class ClientState { */ public Entity playerCamera; + /** + * The target of the interaction + */ + public Entity interactionTarget = null; + + /** + * skybox entity + */ + public Entity skybox; + + /** + * The inventory entity currently being dragged + */ + public Entity draggedItem = null; + + /** + * The source inventory of the currently dragged inventory item + */ + public Object dragSourceInventory = null; + + /** + * The target container to drop the dragged inventory entity into + */ + public Entity targetContainer = null; + /** * Constructor */ diff --git a/src/main/java/electrosphere/client/interact/ButtonInteraction.java b/src/main/java/electrosphere/client/interact/ButtonInteraction.java index e904fc1f..6e285f4d 100644 --- a/src/main/java/electrosphere/client/interact/ButtonInteraction.java +++ b/src/main/java/electrosphere/client/interact/ButtonInteraction.java @@ -34,7 +34,7 @@ public class ButtonInteraction { Vector3d centerPos = new Vector3d(CameraEntityUtils.getCameraCenter(camera)); Entity target = ClientInteractionEngine.rayCast(centerPos, eyePos); if(target != null && CommonEntityFlags.isInteractable(target)){ - Globals.interactionTarget = target; + Globals.clientState.interactionTarget = target; ButtonInteraction.performInteraction(target); } else if(ClientEquipState.hasEquipState(Globals.clientState.playerEntity) && Crosshair.hasTarget()){ if(InventoryUtils.hasNaturalInventory(Globals.clientState.playerEntity)){ diff --git a/src/main/java/electrosphere/client/sim/ClientSimulation.java b/src/main/java/electrosphere/client/sim/ClientSimulation.java index 54ae9483..1bb14d8a 100644 --- a/src/main/java/electrosphere/client/sim/ClientSimulation.java +++ b/src/main/java/electrosphere/client/sim/ClientSimulation.java @@ -152,8 +152,8 @@ public class ClientSimulation { */ private void updateSkyboxPos(){ Globals.profiler.beginCpuSample("updateSkyboxPos"); - if(Globals.skybox != null && Globals.clientState.playerEntity != null){ - EntityUtils.getPosition(Globals.skybox).set(EntityUtils.getPosition(Globals.clientState.playerEntity)); + if(Globals.clientState.skybox != null && Globals.clientState.playerEntity != null){ + EntityUtils.getPosition(Globals.clientState.skybox).set(EntityUtils.getPosition(Globals.clientState.playerEntity)); } Globals.profiler.endCpuSample(); } diff --git a/src/main/java/electrosphere/client/ui/components/EquipmentInventoryPanel.java b/src/main/java/electrosphere/client/ui/components/EquipmentInventoryPanel.java index d3064124..a4fd0a7d 100644 --- a/src/main/java/electrosphere/client/ui/components/EquipmentInventoryPanel.java +++ b/src/main/java/electrosphere/client/ui/components/EquipmentInventoryPanel.java @@ -54,10 +54,10 @@ public class EquipmentInventoryPanel { div.setOnDragRelease(new DragEventCallback() {public boolean execute(DragEvent event){ LoggerInterface.loggerUI.INFO("Character inventory received drag release event"); - if(Globals.draggedItem != null){ + if(Globals.clientState.draggedItem != null){ //play sound effect if(Globals.virtualAudioSourceManager != null){ - Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(Globals.draggedItem)); + Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(Globals.clientState.draggedItem)); if(itemData.getItemAudio() != null && itemData.getItemAudio().getUIReleaseAudio() != null){ Globals.virtualAudioSourceManager.createVirtualAudioSource(itemData.getItemAudio().getUIReleaseAudio(), VirtualAudioSourceType.UI, false); } else { @@ -65,8 +65,8 @@ public class EquipmentInventoryPanel { } } //null out global state - Globals.dragSourceInventory = null; - Globals.draggedItem = null; + Globals.clientState.dragSourceInventory = null; + Globals.clientState.draggedItem = null; //clear item container ui WindowUtils.cleanItemDraggingWindow(); //re-render inventory @@ -107,13 +107,13 @@ public class EquipmentInventoryPanel { Entity currentItem = null; equipPoint = inventory.getEquipPointFromSlot(slotId); if(!equipPoint.isCombinedPoint() && !equipPoint.isToolbarSlot()){ - if(inventory.getItemSlot(slotId) != null && inventory.getItemSlot(slotId) != Globals.draggedItem){ + if(inventory.getItemSlot(slotId) != null && inventory.getItemSlot(slotId) != Globals.clientState.draggedItem){ currentItem = inventory.getItemSlot(slotId); //get texture path from item texturePath = ItemUtils.getItemIcon(currentItem); //flag that this isn't an empty slot hasItem = true; - } else if(inventory.getCombinedPoint(slotId) != null && inventory.hasItemInSlot(inventory.getCombinedPoint(slotId).getEquipPointId()) && inventory.getItemSlot(inventory.getCombinedPoint(slotId).getEquipPointId()) != Globals.draggedItem){ + } else if(inventory.getCombinedPoint(slotId) != null && inventory.hasItemInSlot(inventory.getCombinedPoint(slotId).getEquipPointId()) && inventory.getItemSlot(inventory.getCombinedPoint(slotId).getEquipPointId()) != Globals.clientState.draggedItem){ currentItem = inventory.getItemSlot(inventory.getCombinedPoint(slotId).getEquipPointId()); //get texture path from item texturePath = ItemUtils.getItemIcon(currentItem); @@ -144,8 +144,8 @@ public class EquipmentInventoryPanel { panel.setOnDragStart(new DragEventCallback() { public boolean execute(DragEvent event){ LoggerInterface.loggerUI.DEBUG("Drag start"); - Globals.dragSourceInventory = inventory; - Globals.draggedItem = inventory.getItemSlot(finalSlotId); + Globals.clientState.dragSourceInventory = inventory; + Globals.clientState.draggedItem = inventory.getItemSlot(finalSlotId); ContainerElement container = (ContainerElement)panel.getParent(); container.removeChild(panel); WindowUtils.pushItemIconToItemWindow(panel); @@ -184,12 +184,12 @@ public class EquipmentInventoryPanel { } else { int itemId = i; panel.setOnDragRelease(new DragEventCallback(){public boolean execute(DragEvent event){ - if(Globals.dragSourceInventory instanceof RelationalInventoryState){ - if(Globals.dragSourceInventory == InventoryUtils.getToolbarInventory(entity)){ - if(inventory.canEquipItemToSlot(Globals.draggedItem, slots.get(itemId))){ + if(Globals.clientState.dragSourceInventory instanceof RelationalInventoryState){ + if(Globals.clientState.dragSourceInventory == InventoryUtils.getToolbarInventory(entity)){ + if(inventory.canEquipItemToSlot(Globals.clientState.draggedItem, slots.get(itemId))){ //fire equip event to equip state ClientEquipState equipState = ClientEquipState.getEquipState(Globals.clientState.playerEntity); - equipState.commandAttemptEquip(Globals.draggedItem,inventory.getEquipPointFromSlot(slots.get(itemId))); + equipState.commandAttemptEquip(Globals.clientState.draggedItem,inventory.getEquipPointFromSlot(slots.get(itemId))); //play sound effect if(Globals.virtualAudioSourceManager != null){ Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(finalEnt)); @@ -199,20 +199,20 @@ public class EquipmentInventoryPanel { Globals.virtualAudioSourceManager.createVirtualAudioSource(AssetDataStrings.UI_SFX_ITEM_RELEASE, VirtualAudioSourceType.UI, false); } } - } else if(inventory.canEquipItemToCombinedSlot(Globals.draggedItem, slots.get(itemId))){ + } else if(inventory.canEquipItemToCombinedSlot(Globals.clientState.draggedItem, slots.get(itemId))){ EquipPoint combinedPoint = inventory.getCombinedPoint(slots.get(itemId)); //fire equip event to equip state ClientEquipState equipState = ClientEquipState.getEquipState(Globals.clientState.playerEntity); - equipState.commandAttemptEquip(Globals.draggedItem,combinedPoint); + equipState.commandAttemptEquip(Globals.clientState.draggedItem,combinedPoint); } - } else if(ItemUtils.getContainingParent(Globals.draggedItem) != Globals.clientState.playerEntity){ + } else if(ItemUtils.getContainingParent(Globals.clientState.draggedItem) != Globals.clientState.playerEntity){ throw new UnsupportedOperationException("Unimplemented!"); } - } else if(Globals.dragSourceInventory instanceof UnrelationalInventoryState){ - if(inventory.canEquipItemToSlot(Globals.draggedItem, slots.get(itemId))){ + } else if(Globals.clientState.dragSourceInventory instanceof UnrelationalInventoryState){ + if(inventory.canEquipItemToSlot(Globals.clientState.draggedItem, slots.get(itemId))){ //fire equip event to equip state ClientEquipState equipState = ClientEquipState.getEquipState(Globals.clientState.playerEntity); - equipState.commandAttemptEquip(Globals.draggedItem,inventory.getEquipPointFromSlot(slots.get(itemId))); + equipState.commandAttemptEquip(Globals.clientState.draggedItem,inventory.getEquipPointFromSlot(slots.get(itemId))); //play sound effect if(Globals.virtualAudioSourceManager != null){ Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(finalEnt)); @@ -222,16 +222,16 @@ public class EquipmentInventoryPanel { Globals.virtualAudioSourceManager.createVirtualAudioSource(AssetDataStrings.UI_SFX_ITEM_RELEASE, VirtualAudioSourceType.UI, false); } } - } else if(inventory.canEquipItemToCombinedSlot(Globals.draggedItem, slots.get(itemId))){ + } else if(inventory.canEquipItemToCombinedSlot(Globals.clientState.draggedItem, slots.get(itemId))){ EquipPoint combinedPoint = inventory.getCombinedPoint(slots.get(itemId)); //fire equip event to equip state ClientEquipState equipState = ClientEquipState.getEquipState(Globals.clientState.playerEntity); - equipState.commandAttemptEquip(Globals.draggedItem,combinedPoint); + equipState.commandAttemptEquip(Globals.clientState.draggedItem,combinedPoint); } } //play sound effect if(Globals.virtualAudioSourceManager != null){ - Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(Globals.draggedItem)); + Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(Globals.clientState.draggedItem)); if(itemData.getItemAudio() != null && itemData.getItemAudio().getUIReleaseAudio() != null){ Globals.virtualAudioSourceManager.createVirtualAudioSource(itemData.getItemAudio().getUIReleaseAudio(), VirtualAudioSourceType.UI, false); } else { @@ -239,8 +239,8 @@ public class EquipmentInventoryPanel { } } //update ui - Globals.dragSourceInventory = null; - Globals.draggedItem = null; + Globals.clientState.dragSourceInventory = null; + Globals.clientState.draggedItem = null; //clear item container ui WindowUtils.cleanItemDraggingWindow(); //rerender inventories diff --git a/src/main/java/electrosphere/client/ui/components/ItemIconPanel.java b/src/main/java/electrosphere/client/ui/components/ItemIconPanel.java index c904ab9b..17237978 100644 --- a/src/main/java/electrosphere/client/ui/components/ItemIconPanel.java +++ b/src/main/java/electrosphere/client/ui/components/ItemIconPanel.java @@ -71,11 +71,11 @@ public class ItemIconPanel { panel.setOnDragStart(new DragEventCallback() {public boolean execute(DragEvent event){ ItemIconPanel.dragStartContainer = panel.getParent(); // System.out.println("Drag start"); - Globals.dragSourceInventory = inventory; + Globals.clientState.dragSourceInventory = inventory; if(inventory instanceof RelationalInventoryState){ - Globals.draggedItem = ((RelationalInventoryState)inventory).getItemSlot("" + itemId); + Globals.clientState.draggedItem = ((RelationalInventoryState)inventory).getItemSlot("" + itemId); } else { - Globals.draggedItem = ((UnrelationalInventoryState)inventory).getItems().get(itemId); + Globals.clientState.draggedItem = ((UnrelationalInventoryState)inventory).getItems().get(itemId); } ContainerElement container = (ContainerElement)panel.getParent(); container.removeChild(panel); @@ -115,7 +115,7 @@ public class ItemIconPanel { return false; }}); panel.setOnHoverCallback(new HoverEventCallback() {public boolean execute(HoverEvent event){ - if(event.isHovered() && Globals.draggedItem == null){ + if(event.isHovered() && Globals.clientState.draggedItem == null){ if(itemTooltip != null){ Tooltip.destroy(itemTooltip); } @@ -180,7 +180,7 @@ public class ItemIconPanel { panel.setAbsolutePosition(false); panel.setOnDragRelease(new DragEventCallback(){public boolean execute(DragEvent event){ onReceiveItem.run(); - Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(Globals.draggedItem)); + Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(Globals.clientState.draggedItem)); if(Globals.virtualAudioSourceManager != null){ if(itemData != null && itemData.getItemAudio() != null && itemData.getItemAudio().getUIReleaseAudio() != null){ Globals.virtualAudioSourceManager.createVirtualAudioSource(itemData.getItemAudio().getUIReleaseAudio(), VirtualAudioSourceType.UI, false); @@ -189,8 +189,8 @@ public class ItemIconPanel { } } //update ui - Globals.dragSourceInventory = null; - Globals.draggedItem = null; + Globals.clientState.dragSourceInventory = null; + Globals.clientState.draggedItem = null; //clear item container ui WindowUtils.cleanItemDraggingWindow(); //rerender inventories diff --git a/src/main/java/electrosphere/client/ui/components/NaturalInventoryPanel.java b/src/main/java/electrosphere/client/ui/components/NaturalInventoryPanel.java index 46593326..ba16ee6b 100644 --- a/src/main/java/electrosphere/client/ui/components/NaturalInventoryPanel.java +++ b/src/main/java/electrosphere/client/ui/components/NaturalInventoryPanel.java @@ -51,22 +51,22 @@ public class NaturalInventoryPanel { div.setOnDragRelease(new DragEventCallback() {public boolean execute(DragEvent event){ LoggerInterface.loggerUI.INFO("Natural inventory received drag release event"); - if(Globals.draggedItem != null){ - if(Globals.dragSourceInventory != inventory){ - if(Globals.dragSourceInventory instanceof RelationalInventoryState){ + if(Globals.clientState.draggedItem != null){ + if(Globals.clientState.dragSourceInventory != inventory){ + if(Globals.clientState.dragSourceInventory instanceof RelationalInventoryState){ if(ClientEquipState.hasEquipState(entity) && InventoryUtils.hasEquipInventory(entity)){ RelationalInventoryState equipInventory = InventoryUtils.getEquipInventory(entity); ClientEquipState equipState = ClientEquipState.getEquipState(entity); - equipState.commandAttemptUnequip(equipInventory.getItemSlot(Globals.draggedItem)); + equipState.commandAttemptUnequip(equipInventory.getItemSlot(Globals.clientState.draggedItem)); } - } if(Globals.dragSourceInventory instanceof UnrelationalInventoryState){ + } if(Globals.clientState.dragSourceInventory instanceof UnrelationalInventoryState){ //transfer item // sourceInventory.removeItem(Globals.draggedItem); // inventory.addItem(Globals.draggedItem); // //null out global state // Globals.dragSourceInventory = null; // Globals.draggedItem = null; - Entity item = Globals.draggedItem; + Entity item = Globals.clientState.draggedItem; if(ClientEquipState.hasEquipState(entity) && InventoryUtils.hasEquipInventory(entity)){ RelationalInventoryState equipInventory = InventoryUtils.getEquipInventory(entity); ClientEquipState equipState = ClientEquipState.getEquipState(entity); @@ -81,7 +81,7 @@ public class NaturalInventoryPanel { } //play sound effect if(Globals.virtualAudioSourceManager != null){ - Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(Globals.draggedItem)); + Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(Globals.clientState.draggedItem)); if(itemData.getItemAudio() != null && itemData.getItemAudio().getUIReleaseAudio() != null){ Globals.virtualAudioSourceManager.createVirtualAudioSource(itemData.getItemAudio().getUIReleaseAudio(), VirtualAudioSourceType.UI, false); } else { @@ -116,7 +116,7 @@ public class NaturalInventoryPanel { String texturePath = "Textures/ui/uiFrame1.png"; boolean hasItem = false; Entity currentItem = null; - if(i < inventory.getItems().size() && inventory.getItems().get(i) != Globals.draggedItem){ + if(i < inventory.getItems().size() && inventory.getItems().get(i) != Globals.clientState.draggedItem){ currentItem = inventory.getItems().get(i); //get texture path from item texturePath = ItemUtils.getItemIcon(currentItem); @@ -129,16 +129,16 @@ public class NaturalInventoryPanel { //create the actual item panel Div panel = null; - if(hasItem == true && inventory.getItems().get(i) != Globals.draggedItem){ + if(hasItem == true && inventory.getItems().get(i) != Globals.clientState.draggedItem){ panel = ItemIconPanel.createPanel(currentItem, i, inventory); } else { panel = ItemIconPanel.createEmptyItemPanel(() -> { - if(Globals.draggedItem != null){ + if(Globals.clientState.draggedItem != null){ NetworkMessage requestPickupMessage = InventoryMessage.constructclientRequestStoreItemMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(entity.getId()), InventoryProtocol.INVENTORY_TYPE_NATURAL, 0 + "", - Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.draggedItem.getId()) + Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.clientState.draggedItem.getId()) ); 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 d62afc66..4f54e980 100644 --- a/src/main/java/electrosphere/client/ui/components/ToolbarInventoryPanel.java +++ b/src/main/java/electrosphere/client/ui/components/ToolbarInventoryPanel.java @@ -61,22 +61,22 @@ public class ToolbarInventoryPanel { div.setOnDragRelease(new DragEventCallback() {public boolean execute(DragEvent event){ LoggerInterface.loggerUI.INFO("Toolbar inventory received drag release event"); - if(Globals.draggedItem != null){ - if(Globals.dragSourceInventory != inventory){ - if(Globals.dragSourceInventory instanceof RelationalInventoryState){ + if(Globals.clientState.draggedItem != null){ + if(Globals.clientState.dragSourceInventory != inventory){ + if(Globals.clientState.dragSourceInventory instanceof RelationalInventoryState){ if(ClientEquipState.hasEquipState(entity) && InventoryUtils.hasEquipInventory(entity)){ RelationalInventoryState equipInventory = InventoryUtils.getEquipInventory(entity); ClientEquipState equipState = ClientEquipState.getEquipState(entity); - equipState.commandAttemptUnequip(equipInventory.getItemSlot(Globals.draggedItem)); + equipState.commandAttemptUnequip(equipInventory.getItemSlot(Globals.clientState.draggedItem)); } - } if(Globals.dragSourceInventory instanceof UnrelationalInventoryState){ + } if(Globals.clientState.dragSourceInventory instanceof UnrelationalInventoryState){ //transfer item // sourceInventory.removeItem(Globals.draggedItem); // inventory.addItem(Globals.draggedItem); // //null out global state // Globals.dragSourceInventory = null; // Globals.draggedItem = null; - Entity item = Globals.draggedItem; + Entity item = Globals.clientState.draggedItem; if(ClientEquipState.hasEquipState(entity) && InventoryUtils.hasEquipInventory(entity)){ RelationalInventoryState equipInventory = InventoryUtils.getEquipInventory(entity); ClientEquipState equipState = ClientEquipState.getEquipState(entity); @@ -91,7 +91,7 @@ public class ToolbarInventoryPanel { } //play sound effect if(Globals.virtualAudioSourceManager != null){ - Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(Globals.draggedItem)); + Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(Globals.clientState.draggedItem)); if(itemData.getItemAudio() != null && itemData.getItemAudio().getUIReleaseAudio() != null){ Globals.virtualAudioSourceManager.createVirtualAudioSource(itemData.getItemAudio().getUIReleaseAudio(), VirtualAudioSourceType.UI, false); } else { @@ -127,7 +127,7 @@ public class ToolbarInventoryPanel { String texturePath = "Textures/ui/uiFrame1.png"; boolean hasItem = false; Entity currentItem = null; - if(inventory.getItemSlot("" + i) != Globals.draggedItem && inventory.getItemSlot("" + i) != null){ + if(inventory.getItemSlot("" + i) != Globals.clientState.draggedItem && inventory.getItemSlot("" + i) != null){ currentItem = inventory.getItemSlot("" + i); //get texture path from item texturePath = ItemUtils.getItemIcon(currentItem); @@ -140,7 +140,7 @@ public class ToolbarInventoryPanel { //create the actual item panel Div panel = null; - if(hasItem == true && inventory.getItemSlot("" + i) != Globals.draggedItem){ + if(hasItem == true && inventory.getItemSlot("" + i) != Globals.clientState.draggedItem){ panel = ItemIconPanel.createPanel(currentItem, i, inventory); } else { int slotId = i; @@ -149,7 +149,7 @@ public class ToolbarInventoryPanel { Globals.clientState.clientSceneWrapper.mapClientToServerId(entity.getId()), InventoryProtocol.INVENTORY_TYPE_TOOLBAR, slotId + "", - Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.draggedItem.getId()) + Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.clientState.draggedItem.getId()) ); Globals.clientState.clientConnection.queueOutgoingMessage(requestPickupMessage); }); diff --git a/src/main/java/electrosphere/client/ui/menu/WindowUtils.java b/src/main/java/electrosphere/client/ui/menu/WindowUtils.java index 2ddbcca6..b7efec63 100644 --- a/src/main/java/electrosphere/client/ui/menu/WindowUtils.java +++ b/src/main/java/electrosphere/client/ui/menu/WindowUtils.java @@ -199,10 +199,10 @@ public class WindowUtils { WindowUtils.replaceWindow(WindowStrings.WINDOW_CHARACTER, InventoryMainWindow.createInventoryWindow(Globals.clientState.playerEntity)); } } - if(Globals.targetContainer != null){ + if(Globals.clientState.targetContainer != null){ if(Globals.elementService.containsWindow(WindowStrings.WINDOW_INVENTORY_TARGET)){ //redraw if necessary - WindowUtils.replaceWindow(WindowStrings.WINDOW_INVENTORY_TARGET, InventoryMainWindow.createInventoryWindow(Globals.targetContainer)); + WindowUtils.replaceWindow(WindowStrings.WINDOW_INVENTORY_TARGET, InventoryMainWindow.createInventoryWindow(Globals.clientState.targetContainer)); } } } 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 5ddf5956..f6499a24 100644 --- a/src/main/java/electrosphere/client/ui/menu/ingame/CraftingWindow.java +++ b/src/main/java/electrosphere/client/ui/menu/ingame/CraftingWindow.java @@ -57,10 +57,10 @@ public class CraftingWindow { rVal.addChild(CraftingPanel.createCraftingPanelComponent( data, (RecipeData recipe) -> { - if(Globals.interactionTarget != null){ + if(Globals.clientState.interactionTarget != null){ Globals.clientState.clientConnection.queueOutgoingMessage(InventoryMessage.constructclientRequestCraftMessage( Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.clientState.playerEntity.getId()), - Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.interactionTarget.getId()), + Globals.clientState.clientSceneWrapper.mapClientToServerId(Globals.clientState.interactionTarget.getId()), recipe.getId() )); } else { diff --git a/src/main/java/electrosphere/client/ui/menu/ingame/InventoryMainWindow.java b/src/main/java/electrosphere/client/ui/menu/ingame/InventoryMainWindow.java index 55807bc6..d3589ebd 100644 --- a/src/main/java/electrosphere/client/ui/menu/ingame/InventoryMainWindow.java +++ b/src/main/java/electrosphere/client/ui/menu/ingame/InventoryMainWindow.java @@ -65,7 +65,7 @@ public class InventoryMainWindow { } } else { if(Globals.elementService.getWindow(WindowStrings.WINDOW_INVENTORY_TARGET) == null){ - Globals.targetContainer = entity; + Globals.clientState.targetContainer = entity; //create window Window mainMenuWindow = InventoryMainWindow.createInventoryWindow(entity); //register @@ -124,7 +124,7 @@ public class InventoryMainWindow { WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(windowString), false); Globals.elementService.unregisterWindow(windowString); if(windowString.equals(WindowStrings.WINDOW_INVENTORY_TARGET)){ - Globals.targetContainer = null; + Globals.clientState.targetContainer = null; } if(Globals.cameraHandler.getTrackPlayerEntity()){ Globals.controlHandler.hintUpdateControlState(ControlsState.MAIN_GAME); diff --git a/src/main/java/electrosphere/client/ui/menu/ingame/MenuGeneratorsInventory.java b/src/main/java/electrosphere/client/ui/menu/ingame/MenuGeneratorsInventory.java index ab0db788..80f1656b 100644 --- a/src/main/java/electrosphere/client/ui/menu/ingame/MenuGeneratorsInventory.java +++ b/src/main/java/electrosphere/client/ui/menu/ingame/MenuGeneratorsInventory.java @@ -23,12 +23,12 @@ public class MenuGeneratorsInventory { Div div = Div.createDiv(); div.setOnDragRelease(new DragEventCallback() {public boolean execute(DragEvent event){ LoggerInterface.loggerUI.INFO("World item drop capture window received drag release"); - if(Globals.draggedItem != null){ + if(Globals.clientState.draggedItem != null){ //drop item - ClientInventoryState.clientAttemptEjectItem(Globals.clientState.playerEntity,Globals.draggedItem); + ClientInventoryState.clientAttemptEjectItem(Globals.clientState.playerEntity,Globals.clientState.draggedItem); //play sound effect if(Globals.virtualAudioSourceManager != null){ - Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(Globals.draggedItem)); + Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(ItemUtils.getType(Globals.clientState.draggedItem)); if(itemData.getItemAudio() != null && itemData.getItemAudio().getUIReleaseAudio() != null){ Globals.virtualAudioSourceManager.createVirtualAudioSource(itemData.getItemAudio().getUIReleaseAudio(), VirtualAudioSourceType.UI, false); } else { @@ -40,8 +40,8 @@ public class MenuGeneratorsInventory { //re-render inventory WindowUtils.replaceWindow(WindowStrings.WINDOW_CHARACTER, InventoryMainWindow.createInventoryWindow(Globals.clientState.playerEntity)); //null globals - Globals.dragSourceInventory = null; - Globals.draggedItem = null; + Globals.clientState.dragSourceInventory = null; + Globals.clientState.draggedItem = null; return false; } return true; diff --git a/src/main/java/electrosphere/controls/categories/ControlCategoryMainGame.java b/src/main/java/electrosphere/controls/categories/ControlCategoryMainGame.java index d205c152..36fa28bd 100644 --- a/src/main/java/electrosphere/controls/categories/ControlCategoryMainGame.java +++ b/src/main/java/electrosphere/controls/categories/ControlCategoryMainGame.java @@ -726,7 +726,7 @@ public class ControlCategoryMainGame { mainGameControlList.add(controlMap.get(OPEN_CRAFTING)); inventoryControlList.add(controlMap.get(OPEN_CRAFTING)); controlMap.get(OPEN_CRAFTING).setOnClick(new ControlMethod(){public void execute(MouseState mouseState){ - Globals.interactionTarget = null; + Globals.clientState.interactionTarget = null; WindowUtils.openInteractionMenu(WindowStrings.CRAFTING, CraftingWindow.HAND_CRAFTING_DATA); }}); controlMap.get(OPEN_CRAFTING).setRepeatTimeout(0.5f * Main.targetFrameRate); diff --git a/src/main/java/electrosphere/engine/Globals.java b/src/main/java/electrosphere/engine/Globals.java index b6907a55..41bb9569 100644 --- a/src/main/java/electrosphere/engine/Globals.java +++ b/src/main/java/electrosphere/engine/Globals.java @@ -38,7 +38,6 @@ import electrosphere.engine.signal.SignalSystem; import electrosphere.engine.signal.sync.MainThreadSignalService; import electrosphere.engine.threads.ThreadManager; import electrosphere.engine.time.Timekeeper; -import electrosphere.entity.Entity; import electrosphere.logger.LoggerInterface; import electrosphere.net.config.NetConfig; import electrosphere.net.monitor.NetMonitor; @@ -344,24 +343,11 @@ public class Globals { //collision world data public static CollisionWorldData commonWorldData; - - /** - * The target of the interaction - */ - public static Entity interactionTarget = null; - - //skybox entity - public static Entity skybox; //ai manager public static AIManager aiManager; - //drag item state - public static Entity draggedItem = null; - public static Object dragSourceInventory = null; - public static Entity targetContainer = null; - /** * State for the client */