98 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
package electrosphere.server;
 | 
						|
 | 
						|
import electrosphere.engine.Globals;
 | 
						|
import electrosphere.net.server.Server;
 | 
						|
import electrosphere.net.server.player.PlayerManager;
 | 
						|
import electrosphere.net.synchronization.server.EntityValueTrackingService;
 | 
						|
import electrosphere.net.synchronization.server.ServerSynchronizationManager;
 | 
						|
import electrosphere.server.ai.AIManager;
 | 
						|
import electrosphere.server.datacell.EntityDataCellMapper;
 | 
						|
import electrosphere.server.datacell.RealmManager;
 | 
						|
import electrosphere.server.db.DatabaseController;
 | 
						|
import electrosphere.server.saves.Save;
 | 
						|
import electrosphere.server.service.CharacterService;
 | 
						|
import electrosphere.server.service.LODEmitterService;
 | 
						|
import electrosphere.server.service.StructureScanningService;
 | 
						|
import electrosphere.server.simulation.MicroSimulation;
 | 
						|
 | 
						|
/**
 | 
						|
 * Server state
 | 
						|
 */
 | 
						|
public class ServerState {
 | 
						|
    
 | 
						|
    /**
 | 
						|
     * Server networking
 | 
						|
     */
 | 
						|
    public Server server;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Synchronization manager on the server
 | 
						|
     */
 | 
						|
    public final ServerSynchronizationManager serverSynchronizationManager = new ServerSynchronizationManager();
 | 
						|
 | 
						|
    /**
 | 
						|
     * ai manager
 | 
						|
     */
 | 
						|
    public final AIManager aiManager = new AIManager(0);
 | 
						|
 | 
						|
    /**
 | 
						|
     * The entity->datacell mapper
 | 
						|
     */
 | 
						|
    public final EntityDataCellMapper entityDataCellMapper = new EntityDataCellMapper();
 | 
						|
 | 
						|
    /**
 | 
						|
     * Realm manager
 | 
						|
     */
 | 
						|
    public final RealmManager realmManager = new RealmManager();
 | 
						|
 | 
						|
    /**
 | 
						|
     * The currently loaded save
 | 
						|
     */
 | 
						|
    public Save currentSave = null;
 | 
						|
    
 | 
						|
    /**
 | 
						|
     * Service for managing characters
 | 
						|
     */
 | 
						|
    public final CharacterService characterService;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Service for background scanning to detect when players create structures
 | 
						|
     */
 | 
						|
    public final StructureScanningService structureScanningService;
 | 
						|
 | 
						|
    /**
 | 
						|
     * The lod emitter service
 | 
						|
     */
 | 
						|
    public final LODEmitterService lodEmitterService;
 | 
						|
 | 
						|
    /**
 | 
						|
     * behavior tree tracking service
 | 
						|
     */
 | 
						|
    public EntityValueTrackingService entityValueTrackingService = new EntityValueTrackingService();
 | 
						|
 | 
						|
    /**
 | 
						|
     * Player manager
 | 
						|
     */
 | 
						|
    public PlayerManager playerManager = new PlayerManager();
 | 
						|
 | 
						|
    /**
 | 
						|
     * Database controller
 | 
						|
     */
 | 
						|
    public final DatabaseController dbController = new DatabaseController();
 | 
						|
 | 
						|
    /**
 | 
						|
     * The micro simulation
 | 
						|
     */
 | 
						|
    public final MicroSimulation microSimulation = new MicroSimulation();
 | 
						|
 | 
						|
    /**
 | 
						|
     * Constructor
 | 
						|
     */
 | 
						|
    public ServerState(){
 | 
						|
        this.characterService = (CharacterService)Globals.engineState.serviceManager.registerService(new CharacterService());
 | 
						|
        this.structureScanningService = (StructureScanningService)Globals.engineState.serviceManager.registerService(new StructureScanningService());
 | 
						|
        this.lodEmitterService = (LODEmitterService)Globals.engineState.serviceManager.registerService(new LODEmitterService());
 | 
						|
    }
 | 
						|
 | 
						|
}
 |