Search in sources :

Example 1 with RegisterInputSystem

use of org.terasology.engine.core.modes.loadProcesses.RegisterInputSystem in project Terasology by MovingBlocks.

the class StateLoading method initClient.

private void initClient() {
    loadProcesses.add(new JoinServer(context, gameManifest, joinStatus));
    if (!headless) {
        loadProcesses.add(new InitialiseRendering(context));
    }
    loadProcesses.add(new InitialiseEntitySystem(context));
    loadProcesses.add(new RegisterBlocks(context, gameManifest));
    if (!headless) {
        loadProcesses.add(new InitialiseGraphics(context));
    }
    loadProcesses.add(new LoadPrefabs(context));
    loadProcesses.add(new ProcessBlockPrefabs(context));
    loadProcesses.add(new LoadExtraBlockData(context));
    loadProcesses.add(new InitialiseComponentSystemManager(context));
    if (!headless) {
        loadProcesses.add(new RegisterInputSystem(context));
    }
    loadProcesses.add(new RegisterSystems(context, netMode));
    loadProcesses.add(new InitialiseCommandSystem(context));
    loadProcesses.add(new InitialiseRemoteWorld(context, gameManifest));
    loadProcesses.add(new InitialisePhysics(context));
    loadProcesses.add(new InitialiseSystems(context));
    loadProcesses.add(new PreBeginSystems(context));
    loadProcesses.add(new CreateRemoteWorldEntity(context));
    loadProcesses.add(new PostBeginSystems(context));
    loadProcesses.add(new SetupRemotePlayer(context));
    loadProcesses.add(new AwaitCharacterSpawn(context));
    loadProcesses.add(new RegisterBlockFamilies(context));
    loadProcesses.add(new PrepareWorld(context));
}
Also used : CreateRemoteWorldEntity(org.terasology.engine.core.modes.loadProcesses.CreateRemoteWorldEntity) RegisterBlockFamilies(org.terasology.engine.core.modes.loadProcesses.RegisterBlockFamilies) InitialiseGraphics(org.terasology.engine.core.modes.loadProcesses.InitialiseGraphics) RegisterInputSystem(org.terasology.engine.core.modes.loadProcesses.RegisterInputSystem) PreBeginSystems(org.terasology.engine.core.modes.loadProcesses.PreBeginSystems) InitialiseComponentSystemManager(org.terasology.engine.core.modes.loadProcesses.InitialiseComponentSystemManager) SetupRemotePlayer(org.terasology.engine.core.modes.loadProcesses.SetupRemotePlayer) RegisterBlocks(org.terasology.engine.core.modes.loadProcesses.RegisterBlocks) InitialiseRemoteWorld(org.terasology.engine.core.modes.loadProcesses.InitialiseRemoteWorld) InitialiseSystems(org.terasology.engine.core.modes.loadProcesses.InitialiseSystems) InitialiseEntitySystem(org.terasology.engine.core.modes.loadProcesses.InitialiseEntitySystem) InitialiseRendering(org.terasology.engine.core.modes.loadProcesses.InitialiseRendering) RegisterSystems(org.terasology.engine.core.modes.loadProcesses.RegisterSystems) InitialisePhysics(org.terasology.engine.core.modes.loadProcesses.InitialisePhysics) PostBeginSystems(org.terasology.engine.core.modes.loadProcesses.PostBeginSystems) LoadPrefabs(org.terasology.engine.core.modes.loadProcesses.LoadPrefabs) ProcessBlockPrefabs(org.terasology.engine.core.modes.loadProcesses.ProcessBlockPrefabs) LoadExtraBlockData(org.terasology.engine.core.modes.loadProcesses.LoadExtraBlockData) InitialiseCommandSystem(org.terasology.engine.core.modes.loadProcesses.InitialiseCommandSystem) JoinServer(org.terasology.engine.core.modes.loadProcesses.JoinServer) AwaitCharacterSpawn(org.terasology.engine.core.modes.loadProcesses.AwaitCharacterSpawn) PrepareWorld(org.terasology.engine.core.modes.loadProcesses.PrepareWorld)

Example 2 with RegisterInputSystem

use of org.terasology.engine.core.modes.loadProcesses.RegisterInputSystem in project Terasology by MovingBlocks.

the class StateLoading method initHost.

private void initHost() {
    loadProcesses.add(new RegisterMods(context, gameManifest));
    if (!headless) {
        loadProcesses.add(new InitialiseRendering(context));
    }
    loadProcesses.add(new InitialiseEntitySystem(context));
    loadProcesses.add(new RegisterBlocks(context, gameManifest));
    if (!headless) {
        loadProcesses.add(new InitialiseGraphics(context));
    }
    loadProcesses.add(new LoadPrefabs(context));
    loadProcesses.add(new ProcessBlockPrefabs(context));
    loadProcesses.add(new InitialiseComponentSystemManager(context));
    if (!headless) {
        loadProcesses.add(new RegisterInputSystem(context));
    }
    loadProcesses.add(new RegisterSystems(context, netMode));
    loadProcesses.add(new InitialiseCommandSystem(context));
    loadProcesses.add(new LoadExtraBlockData(context));
    loadProcesses.add(new InitialiseWorld(gameManifest, context));
    loadProcesses.add(new RegisterBlockFamilies(context));
    loadProcesses.add(new EnsureSaveGameConsistency(context));
    loadProcesses.add(new InitialisePhysics(context));
    loadProcesses.add(new InitialiseSystems(context));
    loadProcesses.add(new PreBeginSystems(context));
    loadProcesses.add(new LoadEntities(context));
    loadProcesses.add(new InitialiseBlockTypeEntities(context));
    loadProcesses.add(new CreateWorldEntity(context, gameManifest));
    loadProcesses.add(new InitialiseWorldGenerator(context));
    loadProcesses.add(new InitialiseRecordAndReplay(context));
    if (netMode.isServer()) {
        boolean dedicated;
        if (netMode == NetworkMode.DEDICATED_SERVER) {
            dedicated = true;
        } else if (netMode == NetworkMode.LISTEN_SERVER) {
            dedicated = false;
        } else {
            throw new IllegalStateException("Invalid server mode: " + netMode);
        }
        loadProcesses.add(new StartServer(context, dedicated));
    }
    loadProcesses.add(new PostBeginSystems(context));
    if (netMode.hasLocalClient()) {
        loadProcesses.add(new SetupLocalPlayer(context));
        loadProcesses.add(new AwaitCharacterSpawn(context));
    }
    loadProcesses.add(new PrepareWorld(context));
}
Also used : InitialiseWorld(org.terasology.engine.core.modes.loadProcesses.InitialiseWorld) RegisterBlockFamilies(org.terasology.engine.core.modes.loadProcesses.RegisterBlockFamilies) InitialiseGraphics(org.terasology.engine.core.modes.loadProcesses.InitialiseGraphics) RegisterInputSystem(org.terasology.engine.core.modes.loadProcesses.RegisterInputSystem) PreBeginSystems(org.terasology.engine.core.modes.loadProcesses.PreBeginSystems) InitialiseComponentSystemManager(org.terasology.engine.core.modes.loadProcesses.InitialiseComponentSystemManager) RegisterBlocks(org.terasology.engine.core.modes.loadProcesses.RegisterBlocks) InitialiseSystems(org.terasology.engine.core.modes.loadProcesses.InitialiseSystems) SetupLocalPlayer(org.terasology.engine.core.modes.loadProcesses.SetupLocalPlayer) InitialisePhysics(org.terasology.engine.core.modes.loadProcesses.InitialisePhysics) PostBeginSystems(org.terasology.engine.core.modes.loadProcesses.PostBeginSystems) LoadPrefabs(org.terasology.engine.core.modes.loadProcesses.LoadPrefabs) ProcessBlockPrefabs(org.terasology.engine.core.modes.loadProcesses.ProcessBlockPrefabs) PrepareWorld(org.terasology.engine.core.modes.loadProcesses.PrepareWorld) LoadEntities(org.terasology.engine.core.modes.loadProcesses.LoadEntities) EnsureSaveGameConsistency(org.terasology.engine.core.modes.loadProcesses.EnsureSaveGameConsistency) RegisterMods(org.terasology.engine.core.modes.loadProcesses.RegisterMods) InitialiseBlockTypeEntities(org.terasology.engine.core.modes.loadProcesses.InitialiseBlockTypeEntities) CreateWorldEntity(org.terasology.engine.core.modes.loadProcesses.CreateWorldEntity) InitialiseEntitySystem(org.terasology.engine.core.modes.loadProcesses.InitialiseEntitySystem) InitialiseRendering(org.terasology.engine.core.modes.loadProcesses.InitialiseRendering) RegisterSystems(org.terasology.engine.core.modes.loadProcesses.RegisterSystems) InitialiseRecordAndReplay(org.terasology.engine.core.modes.loadProcesses.InitialiseRecordAndReplay) InitialiseWorldGenerator(org.terasology.engine.core.modes.loadProcesses.InitialiseWorldGenerator) LoadExtraBlockData(org.terasology.engine.core.modes.loadProcesses.LoadExtraBlockData) InitialiseCommandSystem(org.terasology.engine.core.modes.loadProcesses.InitialiseCommandSystem) AwaitCharacterSpawn(org.terasology.engine.core.modes.loadProcesses.AwaitCharacterSpawn) StartServer(org.terasology.engine.core.modes.loadProcesses.StartServer)

Example 3 with RegisterInputSystem

use of org.terasology.engine.core.modes.loadProcesses.RegisterInputSystem in project Terasology by MovingBlocks.

the class StateMainMenu method init.

@Override
public void init(GameEngine gameEngine) {
    context = gameEngine.createChildContext();
    headless = context.get(DisplayDevice.class).isHeadless();
    initEntityAndComponentManagers(headless);
    createLocalPlayer(context);
    if (!headless) {
        // TODO: REMOVE this and handle refreshing of core game state at the engine level - see Issue #1127
        new RegisterInputSystem(context).step();
        nuiManager = context.get(NUIManager.class);
        eventSystem.registerEventHandler(nuiManager);
        NUIEditorSystem nuiEditorSystem = new NUIEditorSystem();
        context.put(NUIEditorSystem.class, nuiEditorSystem);
        componentSystemManager.register(nuiEditorSystem, "engine:NUIEditorSystem");
        NUISkinEditorSystem nuiSkinEditorSystem = new NUISkinEditorSystem();
        context.put(NUISkinEditorSystem.class, nuiSkinEditorSystem);
        componentSystemManager.register(nuiSkinEditorSystem, "engine:NUISkinEditorSystem");
        inputSystem = context.get(InputSystem.class);
    }
    componentSystemManager.initialise();
    console = context.get(Console.class);
    storageServiceWorker = context.get(StorageServiceWorker.class);
    playBackgroundMusic();
    if (!headless) {
        // guiManager.openWindow("main");
        context.get(NUIManager.class).pushScreen("engine:mainMenuScreen");
    }
    if (!messageOnLoad.isEmpty()) {
        TranslationSystem translationSystem = context.get(TranslationSystem.class);
        if (headless) {
            throw new RuntimeException(String.format("Game could not be started, server attempted to return to main menu: [%s]. See logs before", translationSystem.translate(messageOnLoad)));
        } else {
            MessagePopup popup = nuiManager.pushScreen(MessagePopup.ASSET_URI, MessagePopup.class);
            popup.setMessage("Error", translationSystem.translate(messageOnLoad));
        }
    }
// TODO: enable it when exposing the telemetry to users
// pushLaunchPopup();
}
Also used : NUIEditorSystem(org.terasology.engine.rendering.nui.editor.systems.NUIEditorSystem) TranslationSystem(org.terasology.engine.i18n.TranslationSystem) Console(org.terasology.engine.logic.console.Console) MessagePopup(org.terasology.engine.rendering.nui.layers.mainMenu.MessagePopup) RegisterInputSystem(org.terasology.engine.core.modes.loadProcesses.RegisterInputSystem) NUISkinEditorSystem(org.terasology.engine.rendering.nui.editor.systems.NUISkinEditorSystem) RegisterInputSystem(org.terasology.engine.core.modes.loadProcesses.RegisterInputSystem) InputSystem(org.terasology.engine.input.InputSystem) NUIManager(org.terasology.engine.rendering.nui.NUIManager) StorageServiceWorker(org.terasology.engine.identity.storageServiceClient.StorageServiceWorker)

Aggregations

RegisterInputSystem (org.terasology.engine.core.modes.loadProcesses.RegisterInputSystem)3 AwaitCharacterSpawn (org.terasology.engine.core.modes.loadProcesses.AwaitCharacterSpawn)2 InitialiseCommandSystem (org.terasology.engine.core.modes.loadProcesses.InitialiseCommandSystem)2 InitialiseComponentSystemManager (org.terasology.engine.core.modes.loadProcesses.InitialiseComponentSystemManager)2 InitialiseEntitySystem (org.terasology.engine.core.modes.loadProcesses.InitialiseEntitySystem)2 InitialiseGraphics (org.terasology.engine.core.modes.loadProcesses.InitialiseGraphics)2 InitialisePhysics (org.terasology.engine.core.modes.loadProcesses.InitialisePhysics)2 InitialiseRendering (org.terasology.engine.core.modes.loadProcesses.InitialiseRendering)2 InitialiseSystems (org.terasology.engine.core.modes.loadProcesses.InitialiseSystems)2 LoadExtraBlockData (org.terasology.engine.core.modes.loadProcesses.LoadExtraBlockData)2 LoadPrefabs (org.terasology.engine.core.modes.loadProcesses.LoadPrefabs)2 PostBeginSystems (org.terasology.engine.core.modes.loadProcesses.PostBeginSystems)2 PreBeginSystems (org.terasology.engine.core.modes.loadProcesses.PreBeginSystems)2 PrepareWorld (org.terasology.engine.core.modes.loadProcesses.PrepareWorld)2 ProcessBlockPrefabs (org.terasology.engine.core.modes.loadProcesses.ProcessBlockPrefabs)2 RegisterBlockFamilies (org.terasology.engine.core.modes.loadProcesses.RegisterBlockFamilies)2 RegisterBlocks (org.terasology.engine.core.modes.loadProcesses.RegisterBlocks)2 RegisterSystems (org.terasology.engine.core.modes.loadProcesses.RegisterSystems)2 CreateRemoteWorldEntity (org.terasology.engine.core.modes.loadProcesses.CreateRemoteWorldEntity)1 CreateWorldEntity (org.terasology.engine.core.modes.loadProcesses.CreateWorldEntity)1