move signal system into engineState
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit

This commit is contained in:
austin 2025-05-15 14:27:08 -04:00
parent c854be629f
commit 8764b44807
40 changed files with 91 additions and 92 deletions

View File

@ -1820,6 +1820,7 @@ Create EngineState global
Move threadManager into engineState Move threadManager into engineState
Move serviceManager into engineState Move serviceManager into engineState
Move timeKeeper into engineState Move timeKeeper into engineState
Move signalSystem into engineState

View File

@ -132,7 +132,7 @@ public class CraftingPanel {
* @param currentRecipe The recipe that was selected * @param currentRecipe The recipe that was selected
*/ */
private static void setDetails(Div topLevelEl, Div detailsPanel, RecipeData currentRecipe){ private static void setDetails(Div topLevelEl, Div detailsPanel, RecipeData currentRecipe){
Globals.signalSystem.post(SignalType.UI_MODIFICATION,() -> { Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION,() -> {
//clear the panel //clear the panel
detailsPanel.clearChildren(); detailsPanel.clearChildren();
@ -161,9 +161,9 @@ public class CraftingPanel {
//apply yoga //apply yoga
if(Globals.elementService.getWindow(WindowStrings.CRAFTING) != null){ if(Globals.elementService.getWindow(WindowStrings.CRAFTING) != null){
Globals.signalSystem.post(SignalType.YOGA_APPLY, Globals.elementService.getWindow(WindowStrings.CRAFTING)); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, Globals.elementService.getWindow(WindowStrings.CRAFTING));
} else if(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN) != null){ } else if(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN) != null){
Globals.signalSystem.post(SignalType.YOGA_APPLY, Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN)); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN));
} }
}); });
} }

View File

@ -166,7 +166,7 @@ public class EquipmentInventoryPanel {
// System.out.println("Drag"); // System.out.println("Drag");
panel.setPositionX(event.getCurrentX() - panelWidth / 2); panel.setPositionX(event.getCurrentX() - panelWidth / 2);
panel.setPositionY(event.getCurrentY() - panelHeight / 2); panel.setPositionY(event.getCurrentY() - panelHeight / 2);
Globals.signalSystem.post(SignalType.YOGA_APPLY, Globals.elementService.getWindow(WindowStrings.WINDOW_ITEM_DRAG_CONTAINER)); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, Globals.elementService.getWindow(WindowStrings.WINDOW_ITEM_DRAG_CONTAINER));
return false; return false;
}}); }});
panel.setOnDragRelease(new DragEventCallback(){public boolean execute(DragEvent event){ panel.setOnDragRelease(new DragEventCallback(){public boolean execute(DragEvent event){

View File

@ -100,7 +100,7 @@ public class ItemIconPanel {
// System.out.println("Drag"); // System.out.println("Drag");
panel.setPositionX(event.getCurrentX() - panelWidth / 2); panel.setPositionX(event.getCurrentX() - panelWidth / 2);
panel.setPositionY(event.getCurrentY() - panelHeight / 2); panel.setPositionY(event.getCurrentY() - panelHeight / 2);
Globals.signalSystem.post(SignalType.YOGA_APPLY, Globals.elementService.getWindow(WindowStrings.WINDOW_ITEM_DRAG_CONTAINER)); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, Globals.elementService.getWindow(WindowStrings.WINDOW_ITEM_DRAG_CONTAINER));
return false; return false;
}}); }});
panel.setOnDragRelease(new DragEventCallback(){public boolean execute(DragEvent event){ panel.setOnDragRelease(new DragEventCallback(){public boolean execute(DragEvent event){
@ -120,7 +120,7 @@ public class ItemIconPanel {
Tooltip.destroy(itemTooltip); Tooltip.destroy(itemTooltip);
} }
Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(currentItem); Item itemData = Globals.gameConfigCurrent.getItemMap().getItem(currentItem);
Globals.signalSystem.post(SignalType.UI_MODIFICATION,()->{ Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION,()->{
itemTooltip = Tooltip.create(Div.createCol(Label.createLabel(itemData.getId()))); itemTooltip = Tooltip.create(Div.createCol(Label.createLabel(itemData.getId())));
itemTooltip.setPositionX(panel.getAbsoluteX() + panelWidth); itemTooltip.setPositionX(panel.getAbsoluteX() + panelWidth);
itemTooltip.setPositionY(panel.getAbsoluteY()); itemTooltip.setPositionY(panel.getAbsoluteY());

View File

@ -33,7 +33,7 @@ public class WindowUtils {
//todo: destroy elements as well //todo: destroy elements as well
mainMenu.clear(); mainMenu.clear();
mainMenu.addChild(newMenu); mainMenu.addChild(newMenu);
Globals.signalSystem.post(SignalType.YOGA_APPLY, mainMenu); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, mainMenu);
Globals.elementService.focusFirstElement(); Globals.elementService.focusFirstElement();
} }
} }
@ -56,7 +56,7 @@ public class WindowUtils {
Globals.elementService.focusFirstElement(); Globals.elementService.focusFirstElement();
} }
if(visible){ if(visible){
Globals.signalSystem.post(SignalType.YOGA_APPLY,topLevelMenu); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,topLevelMenu);
} }
} }
@ -176,10 +176,10 @@ public class WindowUtils {
* Tries to clear all tooltips * Tries to clear all tooltips
*/ */
public static void clearTooltips(){ public static void clearTooltips(){
Globals.signalSystem.post(SignalType.UI_MODIFICATION,()->{ Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION,()->{
Window tooltipWindow = (Window)Globals.elementService.getWindow(WindowStrings.TOOLTIP_WINDOW); Window tooltipWindow = (Window)Globals.elementService.getWindow(WindowStrings.TOOLTIP_WINDOW);
for(Element child : tooltipWindow.getChildren()){ for(Element child : tooltipWindow.getChildren()){
Globals.signalSystem.post(SignalType.YOGA_DESTROY, child); Globals.engineState.signalSystem.post(SignalType.YOGA_DESTROY, child);
} }
tooltipWindow.clearChildren(); tooltipWindow.clearChildren();
}); });
@ -228,7 +228,7 @@ public class WindowUtils {
Window loadingWindow = Window.create(Globals.renderingEngine.getOpenGLState(), 0, 0, Globals.WINDOW_WIDTH, Globals.WINDOW_HEIGHT, false); Window loadingWindow = Window.create(Globals.renderingEngine.getOpenGLState(), 0, 0, Globals.WINDOW_WIDTH, Globals.WINDOW_HEIGHT, false);
Label loadingLabel = Label.createLabel("LOADING"); Label loadingLabel = Label.createLabel("LOADING");
loadingWindow.addChild(loadingLabel); loadingWindow.addChild(loadingLabel);
Globals.signalSystem.post(SignalType.YOGA_APPLY,loadingWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,loadingWindow);
Globals.elementService.registerWindow(WindowStrings.WINDOW_LOADING, loadingWindow); Globals.elementService.registerWindow(WindowStrings.WINDOW_LOADING, loadingWindow);
WindowUtils.recursiveSetVisible(loadingWindow, true); WindowUtils.recursiveSetVisible(loadingWindow, true);
} }
@ -248,7 +248,7 @@ public class WindowUtils {
static void initItemDropWindow(){ static void initItemDropWindow(){
Element itemDropWindow = MenuGeneratorsInventory.worldItemDropCaptureWindow(); Element itemDropWindow = MenuGeneratorsInventory.worldItemDropCaptureWindow();
Globals.elementService.registerWindow(WindowStrings.WINDDOW_ITEM_DROP, itemDropWindow); Globals.elementService.registerWindow(WindowStrings.WINDDOW_ITEM_DROP, itemDropWindow);
Globals.signalSystem.post(SignalType.YOGA_APPLY, itemDropWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, itemDropWindow);
} }
static void initItemDragContainerWindow(){ static void initItemDragContainerWindow(){
@ -260,11 +260,11 @@ public class WindowUtils {
* Updates the loading window * Updates the loading window
*/ */
public static void updateLoadingWindow(String message){ public static void updateLoadingWindow(String message){
Globals.signalSystem.post(SignalType.UI_MODIFICATION,() -> { Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION,() -> {
Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING); Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING);
loadingWindow.clear(); loadingWindow.clear();
loadingWindow.addChild(Label.createLabel(message)); loadingWindow.addChild(Label.createLabel(message));
Globals.signalSystem.post(SignalType.YOGA_APPLY,loadingWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,loadingWindow);
}); });
} }

View File

@ -15,9 +15,9 @@ public class YogaUtils {
* @param render The function that renders the component's content * @param render The function that renders the component's content
*/ */
public static void refreshComponent(Element containingWindow, Runnable render){ public static void refreshComponent(Element containingWindow, Runnable render){
Globals.signalSystem.post(SignalType.UI_MODIFICATION,render); Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION,render);
if(containingWindow != null){ if(containingWindow != null){
Globals.signalSystem.post(SignalType.YOGA_APPLY, containingWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, containingWindow);
} }
} }

View File

@ -40,7 +40,7 @@ public class ImGuiTestGen {
//regenerate the test area //regenerate the test area
if(ImGui.button("Regenerate")){ if(ImGui.button("Regenerate")){
//recompile script engine //recompile script engine
Globals.signalSystem.post(SignalType.SCRIPT_RECOMPILE, () -> { Globals.engineState.signalSystem.post(SignalType.SCRIPT_RECOMPILE, () -> {
//run once script recompilation has completed //run once script recompilation has completed

View File

@ -89,7 +89,7 @@ public class DialogMenuGenerator {
//Final setup //Final setup
// //
Globals.signalSystem.post(SignalType.YOGA_APPLY, rVal); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, rVal);
return rVal; return rVal;
} }

View File

@ -76,7 +76,7 @@ public class CraftingWindow {
//Final setup //Final setup
// //
Globals.signalSystem.post(SignalType.YOGA_APPLY, rVal); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, rVal);

View File

@ -60,7 +60,7 @@ public class FabMenus {
Globals.cursorState.setSelectedFabPath("./assets/Data/fab/" + selectedFile.getName()); Globals.cursorState.setSelectedFabPath("./assets/Data/fab/" + selectedFile.getName());
})); }));
Globals.signalSystem.post(SignalType.YOGA_APPLY,fabSelectionPanelWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,fabSelectionPanelWindow);
return fabSelectionPanelWindow; return fabSelectionPanelWindow;
} }

View File

@ -34,7 +34,7 @@ public class InteractionTargetMenu {
Label label = Label.createLabel(""); Label label = Label.createLabel("");
rVal.addChild(Panel.createPanel(label)); rVal.addChild(Panel.createPanel(label));
Globals.signalSystem.post(SignalType.YOGA_APPLY,rVal); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,rVal);
return rVal; return rVal;
} }
@ -56,7 +56,7 @@ public class InteractionTargetMenu {
interactionTooltipWindow.setVisible(true); interactionTooltipWindow.setVisible(true);
if(!label.getText().contains(text)){ if(!label.getText().contains(text)){
label.setText(text); label.setText(text);
Globals.signalSystem.post(SignalType.YOGA_APPLY, interactionTooltipWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, interactionTooltipWindow);
} }
} }
} }

View File

@ -160,7 +160,7 @@ public class InventoryMainWindow {
//Final setup //Final setup
// //
Globals.signalSystem.post(SignalType.YOGA_APPLY, rVal); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, rVal);
@ -179,16 +179,16 @@ public class InventoryMainWindow {
){ ){
characterWindow.setParentAlignItem(YogaAlignment.Start); characterWindow.setParentAlignItem(YogaAlignment.Start);
targetWindow.setParentAlignItem(YogaAlignment.End); targetWindow.setParentAlignItem(YogaAlignment.End);
Globals.signalSystem.post(SignalType.YOGA_APPLY, characterWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, characterWindow);
Globals.signalSystem.post(SignalType.YOGA_APPLY, targetWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, targetWindow);
} else { } else {
if(characterWindow != null){ if(characterWindow != null){
characterWindow.setParentAlignItem(YogaAlignment.Center); characterWindow.setParentAlignItem(YogaAlignment.Center);
Globals.signalSystem.post(SignalType.YOGA_APPLY, characterWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, characterWindow);
} }
if(targetWindow != null){ if(targetWindow != null){
targetWindow.setParentAlignItem(YogaAlignment.Center); targetWindow.setParentAlignItem(YogaAlignment.Center);
Globals.signalSystem.post(SignalType.YOGA_APPLY, targetWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, targetWindow);
} }
} }
} }
@ -213,16 +213,16 @@ public class InventoryMainWindow {
){ ){
characterWindow.setParentAlignItem(YogaAlignment.Start); characterWindow.setParentAlignItem(YogaAlignment.Start);
targetWindow.setParentAlignItem(YogaAlignment.End); targetWindow.setParentAlignItem(YogaAlignment.End);
Globals.signalSystem.post(SignalType.YOGA_APPLY, characterWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, characterWindow);
Globals.signalSystem.post(SignalType.YOGA_APPLY, targetWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, targetWindow);
} else { } else {
if(characterWindow != null){ if(characterWindow != null){
characterWindow.setParentAlignItem(YogaAlignment.Center); characterWindow.setParentAlignItem(YogaAlignment.Center);
Globals.signalSystem.post(SignalType.YOGA_APPLY, characterWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, characterWindow);
} }
if(targetWindow != null){ if(targetWindow != null){
targetWindow.setParentAlignItem(YogaAlignment.Center); targetWindow.setParentAlignItem(YogaAlignment.Center);
Globals.signalSystem.post(SignalType.YOGA_APPLY, targetWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, targetWindow);
} }
} }
} }

View File

@ -96,7 +96,7 @@ public class MenuGeneratorsInGame {
//Return to main menu //Return to main menu
{ {
Button button = Button.createButton("Return To Main Menu", () -> { Button button = Button.createButton("Return To Main Menu", () -> {
Globals.signalSystem.post(SignalType.ENGINE_RETURN_TO_TITLE); Globals.engineState.signalSystem.post(SignalType.ENGINE_RETURN_TO_TITLE);
}); });
button.setMarginTop(BUTTON_MARGIN); button.setMarginTop(BUTTON_MARGIN);
button.setMarginLeft(BUTTON_MARGIN); button.setMarginLeft(BUTTON_MARGIN);
@ -108,7 +108,7 @@ public class MenuGeneratorsInGame {
{ {
Button button = Button.createButton("Save and Quit", () -> { Button button = Button.createButton("Save and Quit", () -> {
SaveUtils.overwriteSave(Globals.serverState.currentSave.getName()); SaveUtils.overwriteSave(Globals.serverState.currentSave.getName());
Globals.signalSystem.post(SignalType.ENGINE_RETURN_TO_TITLE); Globals.engineState.signalSystem.post(SignalType.ENGINE_RETURN_TO_TITLE);
}); });
button.setMarginTop(BUTTON_MARGIN); button.setMarginTop(BUTTON_MARGIN);
button.setMarginLeft(BUTTON_MARGIN); button.setMarginLeft(BUTTON_MARGIN);
@ -144,7 +144,7 @@ public class MenuGeneratorsInGame {
div.addChild(button); div.addChild(button);
} }
Globals.signalSystem.post(SignalType.YOGA_APPLY,rVal); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,rVal);
return rVal; return rVal;
} }
@ -315,7 +315,7 @@ public class MenuGeneratorsInGame {
toggleNavmeshButton.setMarginLeft(BUTTON_MARGIN); toggleNavmeshButton.setMarginLeft(BUTTON_MARGIN);
scrollable.addChild(toggleNavmeshButton); scrollable.addChild(toggleNavmeshButton);
Globals.signalSystem.post(SignalType.YOGA_APPLY,rVal); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,rVal);
return rVal; return rVal;
} }
@ -372,7 +372,7 @@ public class MenuGeneratorsInGame {
} }
} }
Globals.signalSystem.post(SignalType.YOGA_APPLY,rVal); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,rVal);
return rVal; return rVal;
} }

View File

@ -82,7 +82,7 @@ public class MenuGeneratorsLevelEditor {
fillInDefaultContent(scrollable); fillInDefaultContent(scrollable);
Globals.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel);
return mainSidePanel; return mainSidePanel;
} }
@ -147,7 +147,7 @@ public class MenuGeneratorsLevelEditor {
fillInAtmosphericControlContent(scrollable); fillInAtmosphericControlContent(scrollable);
})); }));
Globals.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel);
} }
@ -178,7 +178,7 @@ public class MenuGeneratorsLevelEditor {
})); }));
} }
Globals.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel);
} }
/** /**
@ -212,7 +212,7 @@ public class MenuGeneratorsLevelEditor {
})); }));
} }
Globals.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel);
} }
/** /**
@ -241,7 +241,7 @@ public class MenuGeneratorsLevelEditor {
})); }));
} }
Globals.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel);
} }
/** /**
@ -270,7 +270,7 @@ public class MenuGeneratorsLevelEditor {
})); }));
} }
Globals.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel);
} }
@ -300,7 +300,7 @@ public class MenuGeneratorsLevelEditor {
})); }));
} }
Globals.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel);
} }
@ -350,7 +350,7 @@ public class MenuGeneratorsLevelEditor {
} }
} }
Globals.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel);
} }
/** /**
@ -464,7 +464,7 @@ public class MenuGeneratorsLevelEditor {
scrollable.addChild(bDiv); scrollable.addChild(bDiv);
Globals.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,mainSidePanel);
} }

View File

@ -55,7 +55,7 @@ public class MenuGeneratorsTerrainEditing {
Globals.clientState.clientSelectedVoxelType = type; Globals.clientState.clientSelectedVoxelType = type;
})); }));
Globals.signalSystem.post(SignalType.YOGA_APPLY,terrainEditingSidePanelWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,terrainEditingSidePanelWindow);
return terrainEditingSidePanelWindow; return terrainEditingSidePanelWindow;
} }
@ -88,7 +88,7 @@ public class MenuGeneratorsTerrainEditing {
Globals.clientState.selectedSpawntype = type; Globals.clientState.selectedSpawntype = type;
})); }));
Globals.signalSystem.post(SignalType.YOGA_APPLY,entitySelectionWindow); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,entitySelectionWindow);
return entitySelectionWindow; return entitySelectionWindow;
} }

View File

@ -44,7 +44,7 @@ public class ToolbarPreviewWindow {
//attach scrollable after search input for organzation purposes //attach scrollable after search input for organzation purposes
rVal.addChild(ToolbarInventoryPanel.createToolbarInventoryPanel(Globals.clientState.playerEntity, false)); rVal.addChild(ToolbarInventoryPanel.createToolbarInventoryPanel(Globals.clientState.playerEntity, false));
Globals.signalSystem.post(SignalType.YOGA_APPLY,rVal); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,rVal);
return rVal; return rVal;
} }

View File

@ -256,9 +256,9 @@ public class MenuGeneratorsLevelEditor {
InputMacros.createSliderInput("Realm Size", (ValueChangeEvent event) -> { InputMacros.createSliderInput("Realm Size", (ValueChangeEvent event) -> {
float value = event.getAsFloat() * MenuGeneratorsLevelEditor.MAX_SELECTABLE_SIZE; float value = event.getAsFloat() * MenuGeneratorsLevelEditor.MAX_SELECTABLE_SIZE;
sceneFile.getRealmDescriptor().setGriddedRealmSize((int)value); sceneFile.getRealmDescriptor().setGriddedRealmSize((int)value);
Globals.signalSystem.post(SignalType.UI_MODIFICATION,() -> { Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION,() -> {
gridSizeLabel.setText("" + (int)value); gridSizeLabel.setText("" + (int)value);
Globals.signalSystem.post(SignalType.YOGA_APPLY, Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN)); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN));
}); });
}, DEFAULT_GRID_SIZE / (float)GriddedDataCellManager.MAX_GRID_SIZE) }, DEFAULT_GRID_SIZE / (float)GriddedDataCellManager.MAX_GRID_SIZE)
); );

View File

@ -245,7 +245,7 @@ public class MenuWorldSelect {
StringCarousel typeCarousel = StringCarousel.create(biomes, (event) -> { StringCarousel typeCarousel = StringCarousel.create(biomes, (event) -> {
int index = biomes.indexOf(event.getAsString()); int index = biomes.indexOf(event.getAsString());
params.biomeType = index; params.biomeType = index;
Globals.signalSystem.post(SignalType.YOGA_APPLY,rVal); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,rVal);
}); });
typeCarousel.setOption(params.biomeType); typeCarousel.setOption(params.biomeType);
panel.addChild(typeCarousel); panel.addChild(typeCarousel);

View File

@ -1,6 +1,7 @@
package electrosphere.engine; package electrosphere.engine;
import electrosphere.engine.service.ServiceManager; import electrosphere.engine.service.ServiceManager;
import electrosphere.engine.signal.SignalSystem;
import electrosphere.engine.threads.ThreadManager; import electrosphere.engine.threads.ThreadManager;
import electrosphere.engine.time.Timekeeper; import electrosphere.engine.time.Timekeeper;
@ -24,11 +25,17 @@ public class EngineState {
*/ */
public final ServiceManager serviceManager = ServiceManager.create(); public final ServiceManager serviceManager = ServiceManager.create();
/**
* The signal system
*/
public SignalSystem signalSystem;
/** /**
* Constructor * Constructor
*/ */
public EngineState(){ public EngineState(){
this.threadManager.init(); this.threadManager.init();
this.signalSystem = (SignalSystem)this.serviceManager.registerService(new SignalSystem());
} }
/** /**

View File

@ -33,7 +33,6 @@ import electrosphere.engine.assetmanager.AssetManager;
import electrosphere.engine.loadingthreads.InitialAssetLoading; import electrosphere.engine.loadingthreads.InitialAssetLoading;
import electrosphere.engine.os.fs.FileWatcherService; import electrosphere.engine.os.fs.FileWatcherService;
import electrosphere.engine.profiler.Profiler; import electrosphere.engine.profiler.Profiler;
import electrosphere.engine.signal.SignalSystem;
import electrosphere.engine.signal.sync.MainThreadSignalService; import electrosphere.engine.signal.sync.MainThreadSignalService;
import electrosphere.logger.LoggerInterface; import electrosphere.logger.LoggerInterface;
import electrosphere.net.config.NetConfig; import electrosphere.net.config.NetConfig;
@ -71,11 +70,6 @@ public class Globals {
// //
public static String javaPID; public static String javaPID;
//
//Signal system
//
public static SignalSystem signalSystem;
// //
//Top level user settings object //Top level user settings object
// //
@ -405,7 +399,6 @@ public class Globals {
//add services here //add services here
Globals.signalSystem = (SignalSystem)Globals.engineState.serviceManager.registerService(new SignalSystem());
Globals.elementService = (ElementService)Globals.engineState.serviceManager.registerService(new ElementService()); Globals.elementService = (ElementService)Globals.engineState.serviceManager.registerService(new ElementService());
Globals.particleService = (ParticleService)Globals.engineState.serviceManager.registerService(new ParticleService()); Globals.particleService = (ParticleService)Globals.engineState.serviceManager.registerService(new ParticleService());
Globals.scriptEngine = (ScriptEngine)Globals.engineState.serviceManager.registerService(new ScriptEngine()); Globals.scriptEngine = (ScriptEngine)Globals.engineState.serviceManager.registerService(new ScriptEngine());
@ -603,7 +596,6 @@ public class Globals {
Globals.audioEngine = null; Globals.audioEngine = null;
Globals.engineState = null; Globals.engineState = null;
Globals.renderingEngine = null; Globals.renderingEngine = null;
Globals.signalSystem = null;
Globals.fileWatcherService = null; Globals.fileWatcherService = null;
Globals.javaPID = null; Globals.javaPID = null;
Globals.RENDER_FLAG_RENDER_SHADOW_MAP = true; Globals.RENDER_FLAG_RENDER_SHADOW_MAP = true;

View File

@ -34,7 +34,7 @@ public class ChunkGenerationTestLoading {
Globals.serverState.aiManager.setActive(false); Globals.serverState.aiManager.setActive(false);
Globals.signalSystem.post(SignalType.UI_MODIFICATION, ()->{ Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION, ()->{
Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING); Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING);
//show loading //show loading
WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false); WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false);

View File

@ -107,7 +107,7 @@ public class ClientLoading {
protected static void loadClientWorld(Object[] params){ protected static void loadClientWorld(Object[] params){
Globals.signalSystem.post(SignalType.UI_MODIFICATION, () -> { Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION, () -> {
WindowUtils.closeWindow(WindowStrings.WINDOW_MENU_MAIN); WindowUtils.closeWindow(WindowStrings.WINDOW_MENU_MAIN);
WindowUtils.recursiveSetVisible(WindowStrings.WINDOW_LOADING, true); WindowUtils.recursiveSetVisible(WindowStrings.WINDOW_LOADING, true);
WindowUtils.updateLoadingWindow("LOADING"); WindowUtils.updateLoadingWindow("LOADING");
@ -131,7 +131,7 @@ public class ClientLoading {
//set simulations to ready if they exist //set simulations to ready if they exist
LoadingUtils.setSimulationsToReady(); LoadingUtils.setSimulationsToReady();
//make loading window disappear //make loading window disappear
Globals.signalSystem.post(SignalType.UI_MODIFICATION, () -> { Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION, () -> {
WindowUtils.recursiveSetVisible(WindowStrings.WINDOW_LOADING, false); WindowUtils.recursiveSetVisible(WindowStrings.WINDOW_LOADING, false);
Globals.RENDER_FLAG_RENDER_SHADOW_MAP = true; Globals.RENDER_FLAG_RENDER_SHADOW_MAP = true;
Globals.RENDER_FLAG_RENDER_SCREEN_FRAMEBUFFER_CONTENT = true; Globals.RENDER_FLAG_RENDER_SCREEN_FRAMEBUFFER_CONTENT = true;
@ -151,7 +151,7 @@ public class ClientLoading {
* Loads the viewport * Loads the viewport
*/ */
protected static void loadViewport(Object[] params){ protected static void loadViewport(Object[] params){
Globals.signalSystem.post(SignalType.UI_MODIFICATION, () -> { Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION, () -> {
WindowUtils.closeWindow(WindowStrings.WINDOW_MENU_MAIN); WindowUtils.closeWindow(WindowStrings.WINDOW_MENU_MAIN);
WindowUtils.recursiveSetVisible(WindowStrings.WINDOW_LOADING, true); WindowUtils.recursiveSetVisible(WindowStrings.WINDOW_LOADING, true);
}); });
@ -173,7 +173,7 @@ public class ClientLoading {
//sets micro and macro sims to ready if they exist //sets micro and macro sims to ready if they exist
setSimulationsToReady(); setSimulationsToReady();
//make loading window disappear //make loading window disappear
Globals.signalSystem.post(SignalType.UI_MODIFICATION, () -> { Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION, () -> {
WindowUtils.recursiveSetVisible(WindowStrings.WINDOW_LOADING, false); WindowUtils.recursiveSetVisible(WindowStrings.WINDOW_LOADING, false);
Globals.RENDER_FLAG_RENDER_SHADOW_MAP = true; Globals.RENDER_FLAG_RENDER_SHADOW_MAP = true;
Globals.RENDER_FLAG_RENDER_SCREEN_FRAMEBUFFER_CONTENT = true; Globals.RENDER_FLAG_RENDER_SCREEN_FRAMEBUFFER_CONTENT = true;

View File

@ -19,7 +19,7 @@ public class DebugSPWorldLoading {
protected static void loadDebugSPWorld(Object[] params){ protected static void loadDebugSPWorld(Object[] params){
Globals.signalSystem.post(SignalType.UI_MODIFICATION, ()->{ Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION, ()->{
Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING); Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING);
//show loading //show loading
WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false); WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false);

View File

@ -54,7 +54,7 @@ public class LevelEditorLoading {
Globals.serverState.aiManager.setActive(false); Globals.serverState.aiManager.setActive(false);
Globals.signalSystem.post(SignalType.UI_MODIFICATION, ()->{ Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION, ()->{
Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING); Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING);
//show loading //show loading
WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false); WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false);

View File

@ -28,7 +28,7 @@ public class LevelLoading {
} }
String saveName = (String)params[0]; String saveName = (String)params[0];
Globals.signalSystem.post(SignalType.UI_MODIFICATION, ()->{ Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION, ()->{
Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING); Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING);
//show loading //show loading
WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false); WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false);

View File

@ -42,7 +42,7 @@ public class MainMenuLoading {
// //
//reveal in game main menu //reveal in game main menu
Globals.signalSystem.post(SignalType.UI_MODIFICATION, ()->{ Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION, ()->{
WindowUtils.closeWindow(WindowStrings.WINDOW_MENU_INGAME_MAIN); WindowUtils.closeWindow(WindowStrings.WINDOW_MENU_INGAME_MAIN);
}); });
MainMenuLoading.loadMainMenu(params); MainMenuLoading.loadMainMenu(params);
@ -71,7 +71,7 @@ public class MainMenuLoading {
* @param params Params (this thread type does not accept any) * @param params Params (this thread type does not accept any)
*/ */
protected static void loadMainMenu(Object[] params){ protected static void loadMainMenu(Object[] params){
Globals.signalSystem.post(SignalType.UI_MODIFICATION, ()->{ Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION, ()->{
Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING); Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING);
if(loadingWindow != null){ if(loadingWindow != null){
WindowUtils.recursiveSetVisible(loadingWindow,false); WindowUtils.recursiveSetVisible(loadingWindow,false);

View File

@ -23,7 +23,7 @@ public class ServerLoading {
String password = (String)params[2]; String password = (String)params[2];
//setup ui for loading //setup ui for loading
Globals.signalSystem.post(SignalType.UI_MODIFICATION, ()->{ Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION, ()->{
Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING); Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING);
//show loading //show loading
WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false); WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false);

View File

@ -28,7 +28,7 @@ public class ViewportLoading {
protected static void loadViewport(Object[] params){ protected static void loadViewport(Object[] params){
// //
//show loading //show loading
Globals.signalSystem.post(SignalType.UI_MODIFICATION, ()->{ Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION, ()->{
Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING); Window loadingWindow = (Window)Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING);
WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false); WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false);
WindowUtils.replaceMainMenuContents(MenuGenerators.createEmptyMainMenu()); WindowUtils.replaceMainMenuContents(MenuGenerators.createEmptyMainMenu());

View File

@ -53,7 +53,7 @@ public class ServiceManager {
} }
for(Service service : trackedServices){ for(Service service : trackedServices){
if(service instanceof SignalService){ if(service instanceof SignalService){
Globals.signalSystem.registerService((SignalService)service); Globals.engineState.signalSystem.registerService((SignalService)service);
} }
} }
} }

View File

@ -35,7 +35,7 @@ public class CharacterProtocol implements ClientProtocolTemplate<CharacterMessag
} break; } break;
case RESPONSECHARACTERLIST: { case RESPONSECHARACTERLIST: {
Globals.clientState.clientCharacterManager.setCharacterList(new Gson().fromJson(message.getdata(), ClientCharacterListDTO.class)); Globals.clientState.clientCharacterManager.setCharacterList(new Gson().fromJson(message.getdata(), ClientCharacterListDTO.class));
Globals.signalSystem.post(SignalType.UI_MODIFICATION,() -> { Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION,() -> {
WindowUtils.replaceMainMenuContents(MenuCharacterCreation.createCharacterSelectionWindow()); WindowUtils.replaceMainMenuContents(MenuCharacterCreation.createCharacterSelectionWindow());
}); });
} break; } break;

View File

@ -470,8 +470,8 @@ public class RenderingEngine {
/** /**
* Alert everyone that the rendering engine is ready * Alert everyone that the rendering engine is ready
*/ */
if(Globals.signalSystem != null){ if(Globals.engineState.signalSystem != null){
Globals.signalSystem.post(SignalType.RENDERING_ENGINE_READY); Globals.engineState.signalSystem.post(SignalType.RENDERING_ENGINE_READY);
} }
} }

View File

@ -80,7 +80,7 @@ public class Label extends StandardContainerElement implements DrawableElement {
private void generateLetters(){ private void generateLetters(){
//free children //free children
for(Element child : childList){ for(Element child : childList){
Globals.signalSystem.post(SignalType.YOGA_DESTROY, child); Globals.engineState.signalSystem.post(SignalType.YOGA_DESTROY, child);
} }
this.clearChildren(); this.clearChildren();
int accumulatingWidth = 0; int accumulatingWidth = 0;

View File

@ -106,7 +106,7 @@ public class StandardContainerElement extends StandardElement implements Contain
@Override @Override
public void destroy(){ public void destroy(){
for(Element child : childList){ for(Element child : childList){
Globals.signalSystem.post(SignalType.YOGA_DESTROY, child); Globals.engineState.signalSystem.post(SignalType.YOGA_DESTROY, child);
} }
if(this.yogaNode != Element.NULL_YOGA_ELEMENT){ if(this.yogaNode != Element.NULL_YOGA_ELEMENT){
Yoga.YGNodeFree(this.yogaNode); Yoga.YGNodeFree(this.yogaNode);

View File

@ -123,7 +123,7 @@ public class StringCarousel extends StandardContainerElement implements Drawable
void generateLetters(){ void generateLetters(){
for(Element el : getChildren()){ for(Element el : getChildren()){
Globals.signalSystem.post(SignalType.YOGA_DESTROY, el); Globals.engineState.signalSystem.post(SignalType.YOGA_DESTROY, el);
} }
this.clearChildren(); this.clearChildren();
int accumulatingWidth = 0; int accumulatingWidth = 0;
@ -148,7 +148,7 @@ public class StringCarousel extends StandardContainerElement implements Drawable
if(focused){ if(focused){
setColor(new Vector4f(1,0,0,1)); setColor(new Vector4f(1,0,0,1));
} }
Globals.signalSystem.post(SignalType.YOGA_APPLY, this); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, this);
} }
public void setColor(Vector4f color){ public void setColor(Vector4f color){

View File

@ -85,7 +85,7 @@ public class TextBox extends StandardDrawableContainerElement {
public void setText(String text) { public void setText(String text) {
this.text = text; this.text = text;
generateLetters(); generateLetters();
Globals.signalSystem.post(SignalType.YOGA_APPLY,this); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,this);
} }
/** /**
@ -110,7 +110,7 @@ public class TextBox extends StandardDrawableContainerElement {
void generateLetters(){ void generateLetters(){
//free children //free children
for(Element child : childList){ for(Element child : childList){
Globals.signalSystem.post(SignalType.YOGA_DESTROY, child); Globals.engineState.signalSystem.post(SignalType.YOGA_DESTROY, child);
} }
this.clearChildren(); this.clearChildren();
String[] words = text.split(" "); String[] words = text.split(" ");

View File

@ -137,7 +137,7 @@ public class TextInput extends StandardContainerElement implements DrawableEleme
*/ */
private void generateLetters(){ private void generateLetters(){
for(Element el : getChildren()){ for(Element el : getChildren()){
Globals.signalSystem.post(SignalType.YOGA_DESTROY, el); Globals.engineState.signalSystem.post(SignalType.YOGA_DESTROY, el);
} }
this.clearChildren(); this.clearChildren();
for(int i = 0; i < text.length(); i++){ for(int i = 0; i < text.length(); i++){
@ -300,7 +300,7 @@ public class TextInput extends StandardContainerElement implements DrawableEleme
while(parent.getParent() != null){ while(parent.getParent() != null){
parent = parent.getParent(); parent = parent.getParent();
} }
Globals.signalSystem.post(SignalType.YOGA_APPLY, parent); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY, parent);
//fire value change event //fire value change event
Globals.elementService.fireEventNoPosition(new ValueChangeEvent(text), this); Globals.elementService.fireEventNoPosition(new ValueChangeEvent(text), this);
return false; return false;

View File

@ -56,7 +56,7 @@ public class Tooltip extends StandardDrawableContainerElement {
if(windowElement instanceof Window){ if(windowElement instanceof Window){
Window windowView = (Window)windowElement; Window windowView = (Window)windowElement;
windowView.addChild(tooltip); windowView.addChild(tooltip);
Globals.signalSystem.post(SignalType.YOGA_APPLY,windowView); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,windowView);
} }
return tooltip; return tooltip;
} }
@ -78,7 +78,7 @@ public class Tooltip extends StandardDrawableContainerElement {
if(windowElement instanceof Window){ if(windowElement instanceof Window){
Window windowView = (Window)windowElement; Window windowView = (Window)windowElement;
windowView.addChild(tooltip); windowView.addChild(tooltip);
Globals.signalSystem.post(SignalType.YOGA_APPLY,windowView); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,windowView);
} }
return tooltip; return tooltip;
} }
@ -148,10 +148,10 @@ public class Tooltip extends StandardDrawableContainerElement {
if(target == null){ if(target == null){
throw new Error("Tooltip is null"); throw new Error("Tooltip is null");
} }
Globals.signalSystem.post(SignalType.UI_MODIFICATION,()->{ Globals.engineState.signalSystem.post(SignalType.UI_MODIFICATION,()->{
Window tooltipWindow = (Window)Globals.elementService.getWindow(WindowStrings.TOOLTIP_WINDOW); Window tooltipWindow = (Window)Globals.elementService.getWindow(WindowStrings.TOOLTIP_WINDOW);
tooltipWindow.removeChild(target); tooltipWindow.removeChild(target);
Globals.signalSystem.post(SignalType.YOGA_DESTROY, target); Globals.engineState.signalSystem.post(SignalType.YOGA_DESTROY, target);
}); });
} }

View File

@ -275,7 +275,7 @@ public class Window implements DrawableElement, ContainerElement, NavigableEleme
public void destroy(){ public void destroy(){
this.yogaNode = Element.NULL_YOGA_ELEMENT; this.yogaNode = Element.NULL_YOGA_ELEMENT;
for(Element el : this.getChildren()){ for(Element el : this.getChildren()){
Globals.signalSystem.post(SignalType.YOGA_DESTROY, el); Globals.engineState.signalSystem.post(SignalType.YOGA_DESTROY, el);
} }
this.clearChildren(); this.clearChildren();
if(this.yogaNode != Element.NULL_YOGA_ELEMENT){ if(this.yogaNode != Element.NULL_YOGA_ELEMENT){
@ -288,7 +288,7 @@ public class Window implements DrawableElement, ContainerElement, NavigableEleme
*/ */
public void clear(){ public void clear(){
for(Element el : this.getChildren()){ for(Element el : this.getChildren()){
Globals.signalSystem.post(SignalType.YOGA_DESTROY, el); Globals.engineState.signalSystem.post(SignalType.YOGA_DESTROY, el);
} }
this.clearChildren(); this.clearChildren();
} }

View File

@ -79,7 +79,7 @@ public class Word extends StandardDrawableContainerElement {
public void setText(String text) { public void setText(String text) {
this.text = text; this.text = text;
generateLetters(); generateLetters();
Globals.signalSystem.post(SignalType.YOGA_APPLY,this); Globals.engineState.signalSystem.post(SignalType.YOGA_APPLY,this);
} }
/** /**
@ -88,7 +88,7 @@ public class Word extends StandardDrawableContainerElement {
void generateLetters(){ void generateLetters(){
//free children //free children
for(Element child : childList){ for(Element child : childList){
Globals.signalSystem.post(SignalType.YOGA_DESTROY, child); Globals.engineState.signalSystem.post(SignalType.YOGA_DESTROY, child);
} }
this.clearChildren(); this.clearChildren();
for(int i = 0; i < text.length(); i++){ for(int i = 0; i < text.length(); i++){

View File

@ -15,7 +15,6 @@ public class StateCleanupCheckerExtension implements AfterEachCallback {
@Override @Override
public void afterEach(ExtensionContext context) throws Exception { public void afterEach(ExtensionContext context) throws Exception {
Object[] objectsToCheck = new Object[]{ Object[] objectsToCheck = new Object[]{
Globals.signalSystem,
Globals.renderingEngine, Globals.renderingEngine,
Globals.audioEngine, Globals.audioEngine,
Globals.javaPID, Globals.javaPID,