move serviceManager 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:16:25 -04:00
parent 038da702e7
commit a3650ebc2b
6 changed files with 31 additions and 33 deletions

View File

@ -1818,6 +1818,7 @@ Move entityValueTrackingService to serverState
Move playerManager to serverState Move playerManager to serverState
Create EngineState global Create EngineState global
Move threadManager into engineState Move threadManager into engineState
Move serviceManager into engineState

View File

@ -1,5 +1,6 @@
package electrosphere.engine; package electrosphere.engine;
import electrosphere.engine.service.ServiceManager;
import electrosphere.engine.threads.ThreadManager; import electrosphere.engine.threads.ThreadManager;
/** /**
@ -12,4 +13,17 @@ public class EngineState {
*/ */
public final ThreadManager threadManager = new ThreadManager(); public final ThreadManager threadManager = new ThreadManager();
/**
* The service manager
*/
public final ServiceManager serviceManager = ServiceManager.create();
/**
* Destroys the engine state
*/
public void destroy(){
this.threadManager.close();
this.serviceManager.destroy();
}
} }

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.service.ServiceManager;
import electrosphere.engine.signal.SignalSystem; import electrosphere.engine.signal.SignalSystem;
import electrosphere.engine.signal.sync.MainThreadSignalService; import electrosphere.engine.signal.sync.MainThreadSignalService;
import electrosphere.engine.time.Timekeeper; import electrosphere.engine.time.Timekeeper;
@ -73,11 +72,6 @@ public class Globals {
// //
public static String javaPID; public static String javaPID;
//
//Service manager
//
public static ServiceManager serviceManager;
// //
//Signal system //Signal system
// //
@ -379,16 +373,12 @@ public class Globals {
RENDER_FLAG_RENDER_UI = true; RENDER_FLAG_RENDER_UI = true;
RENDER_FLAG_RENDER_UI_BOUNDS = false; RENDER_FLAG_RENDER_UI_BOUNDS = false;
//
//Service manager
serviceManager = ServiceManager.create();
//client state //client state
Globals.clientState = new ClientState(); Globals.clientState = new ClientState();
//server state //server state
Globals.serverState = new ServerState(); Globals.serverState = new ServerState();
Globals.serverState.characterService = (CharacterService)serviceManager.registerService(new CharacterService()); Globals.serverState.characterService = (CharacterService)Globals.engineState.serviceManager.registerService(new CharacterService());
//load in default texture map //load in default texture map
textureMapDefault = TextureMap.construct("Textures/default_texture_map.json"); textureMapDefault = TextureMap.construct("Textures/default_texture_map.json");
@ -421,14 +411,14 @@ public class Globals {
//add services here //add services here
Globals.signalSystem = (SignalSystem)serviceManager.registerService(new SignalSystem()); Globals.signalSystem = (SignalSystem)Globals.engineState.serviceManager.registerService(new SignalSystem());
Globals.elementService = (ElementService)serviceManager.registerService(new ElementService()); Globals.elementService = (ElementService)Globals.engineState.serviceManager.registerService(new ElementService());
Globals.particleService = (ParticleService)serviceManager.registerService(new ParticleService()); Globals.particleService = (ParticleService)Globals.engineState.serviceManager.registerService(new ParticleService());
Globals.scriptEngine = (ScriptEngine)serviceManager.registerService(new ScriptEngine()); Globals.scriptEngine = (ScriptEngine)Globals.engineState.serviceManager.registerService(new ScriptEngine());
Globals.mainThreadSignalService = (MainThreadSignalService)serviceManager.registerService(new MainThreadSignalService()); Globals.mainThreadSignalService = (MainThreadSignalService)Globals.engineState.serviceManager.registerService(new MainThreadSignalService());
Globals.fileWatcherService = (FileWatcherService)serviceManager.registerService(new FileWatcherService()); Globals.fileWatcherService = (FileWatcherService)Globals.engineState.serviceManager.registerService(new FileWatcherService());
Globals.structureScanningService = (StructureScanningService)serviceManager.registerService(new StructureScanningService()); Globals.structureScanningService = (StructureScanningService)Globals.engineState.serviceManager.registerService(new StructureScanningService());
serviceManager.instantiate(); Globals.engineState.serviceManager.instantiate();
// //
//End service manager //End service manager
@ -594,13 +584,11 @@ public class Globals {
Globals.serverState.realmManager.reset(); Globals.serverState.realmManager.reset();
} }
Globals.dbController.disconnect(); Globals.dbController.disconnect();
Globals.serviceManager.unloadScene(); Globals.engineState.serviceManager.unloadScene();
Globals.clientState = new ClientState(); Globals.clientState = new ClientState();
Globals.serverState = new ServerState(); Globals.serverState = new ServerState();
if(Globals.serviceManager != null){ Globals.serverState.characterService = (CharacterService)Globals.engineState.serviceManager.registerService(new CharacterService());
Globals.serverState.characterService = (CharacterService)Globals.serviceManager.registerService(new CharacterService());
}
} }
/** /**
@ -622,7 +610,6 @@ public class Globals {
Globals.engineState = null; Globals.engineState = null;
Globals.renderingEngine = null; Globals.renderingEngine = null;
Globals.signalSystem = null; Globals.signalSystem = null;
Globals.serviceManager = 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

@ -430,10 +430,6 @@ public class Main {
if(Globals.renderingEngine != null){ if(Globals.renderingEngine != null){
Globals.renderingEngine.destroy(); Globals.renderingEngine.destroy();
} }
//used to signal threads to stop
if(Globals.engineState != null && Globals.engineState.threadManager != null){
Globals.engineState.threadManager.close();
}
//shut down audio engine //shut down audio engine
if(Globals.audioEngine != null && Globals.audioEngine.initialized()){ if(Globals.audioEngine != null && Globals.audioEngine.initialized()){
Globals.audioEngine.shutdown(); Globals.audioEngine.shutdown();
@ -452,9 +448,9 @@ public class Main {
initOde = false; initOde = false;
} }
// //
//Destroy services //Destroy engine state
if(Globals.serviceManager != null){ if(Globals.engineState != null){
Globals.serviceManager.destroy(); Globals.engineState.destroy();
} }
//reset globals for good measure (making sure no long-running threads can re-inject entities into scenes) //reset globals for good measure (making sure no long-running threads can re-inject entities into scenes)
Globals.resetGlobals(); Globals.resetGlobals();

View File

@ -63,7 +63,7 @@ public class MainMenuLoading {
private static void resetServerState(){ private static void resetServerState(){
Globals.serverState.server.close(); Globals.serverState.server.close();
Globals.serverState = new ServerState(); Globals.serverState = new ServerState();
Globals.serverState.characterService = (CharacterService)Globals.serviceManager.registerService(new CharacterService()); Globals.serverState.characterService = (CharacterService)Globals.engineState.serviceManager.registerService(new CharacterService());
} }
/** /**

View File

@ -18,7 +18,7 @@ public class ServerEntityUtilsUnitTests {
public void destroyEntity_ValidEntity_NoRealm(){ public void destroyEntity_ValidEntity_NoRealm(){
//setup //setup
Globals.initGlobals(); Globals.initGlobals();
Globals.serverState.characterService = (CharacterService)Globals.serviceManager.registerService(new CharacterService()); Globals.serverState.characterService = (CharacterService)Globals.engineState.serviceManager.registerService(new CharacterService());
Realm realm = Globals.serverState.realmManager.createViewportRealm(new Vector3d(0,0,0), new Vector3d(1,1,1)); Realm realm = Globals.serverState.realmManager.createViewportRealm(new Vector3d(0,0,0), new Vector3d(1,1,1));
Entity entity = EntityCreationUtils.createServerEntity(realm, new Vector3d()); Entity entity = EntityCreationUtils.createServerEntity(realm, new Vector3d());