move more entites into clientState

This commit is contained in:
austin 2025-05-15 12:52:37 -04:00
parent 3755346a7c
commit 76c05d26ae
13 changed files with 91 additions and 80 deletions

View File

@ -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
*/

View File

@ -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)){

View File

@ -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();
}

View File

@ -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

View File

@ -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

View File

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

View File

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

View File

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

View File

@ -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 {

View File

@ -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);

View File

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

View File

@ -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);

View File

@ -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
*/