public void Initialize() { _netManager.RegisterNetMessage <MsgPreferencesAndSettings>(nameof(MsgPreferencesAndSettings), HandlePreferencesAndSettings); _netManager.RegisterNetMessage <MsgUpdateCharacter>(nameof(MsgUpdateCharacter)); _netManager.RegisterNetMessage <MsgSelectCharacter>(nameof(MsgSelectCharacter)); }
/// <inheritdoc /> public void Initialize() { _processor = new GameStateProcessor(_timing); _network.RegisterNetMessage <MsgState>(MsgState.NAME, HandleStateMessage); _network.RegisterNetMessage <MsgStateAck>(MsgStateAck.NAME); _client.RunLevelChanged += RunLevelChanged; if (!_config.IsCVarRegistered("net.interp")) { _config.RegisterCVar("net.interp", false, CVar.ARCHIVE, b => _processor.Interpolation = b); } if (!_config.IsCVarRegistered("net.interp_ratio")) { _config.RegisterCVar("net.interp_ratio", 0, CVar.ARCHIVE, i => _processor.InterpRatio = i); } if (!_config.IsCVarRegistered("net.logging")) { _config.RegisterCVar("net.logging", false, CVar.ARCHIVE, b => _processor.Logging = b); } _processor.Interpolation = _config.GetCVar <bool>("net.interp"); _processor.InterpRatio = _config.GetCVar <int>("net.interp_ratio"); _processor.Logging = _config.GetCVar <bool>("net.logging"); }
public override void Main(Godot.SceneTree tree) { PreInitIoC(); IoCManager.Resolve <ISceneTreeHolder>().Initialize(tree); InitIoC(); Godot.OS.SetWindowTitle("Space Station 14"); tree.SetAutoAcceptQuit(false); // Load config. _configurationManager.LoadFromFile(PathHelpers.ExecutableRelativeFile("client_config.toml")); displayManager.Initialize(); // Init resources. // Doesn't do anything right now because TODO Godot asset management is a bit ad-hoc. _resourceCache.LoadBaseResources(); _resourceCache.LoadLocalResources(); //identical code for server in baseserver if (!AssemblyLoader.TryLoadAssembly <GameShared>(_resourceManager, $"Content.Shared")) { if (!AssemblyLoader.TryLoadAssembly <GameShared>(_resourceManager, $"Sandbox.Shared")) { Logger.Warning($"[ENG] Could not load any Shared DLL."); } } if (!AssemblyLoader.TryLoadAssembly <GameClient>(_resourceManager, $"Content.Client")) { if (!AssemblyLoader.TryLoadAssembly <GameClient>(_resourceManager, $"Sandbox.Client")) { Logger.Warning($"[ENG] Could not load any Client DLL."); } } // Call Init in game assemblies. AssemblyLoader.BroadcastRunLevel(AssemblyLoader.RunLevel.Init); eyeManager.Initialize(); inputManager.Initialize(); _serializer.Initialize(); _userInterfaceManager.Initialize(); _tileDefinitionManager.Initialize(); _networkManager.Initialize(false); _console.Initialize(); _prototypeManager.LoadDirectory(@"./Prototypes/"); _prototypeManager.Resync(); _mapManager.Initialize(); placementManager.Initialize(); lightManager.Initialize(); _entityManager.Initialize(); _networkManager.RegisterNetMessage <MsgFullState>(MsgFullState.NAME, message => IoCManager.Resolve <IGameStateManager>().HandleFullStateMessage((MsgFullState)message)); _networkManager.RegisterNetMessage <MsgStateUpdate>(MsgStateUpdate.NAME, message => IoCManager.Resolve <IGameStateManager>().HandleStateUpdateMessage((MsgStateUpdate)message)); _client.Initialize(); _stateManager.RequestStateChange <MainScreen>(); }
/// <inheritdoc /> public void Initialize() { _config.RegisterCVar("player.name", "JoeGenero", CVar.ARCHIVE); _network.RegisterNetMessage <MsgPlayerListReq>(MsgPlayerListReq.NAME); _network.RegisterNetMessage <MsgPlayerList>(MsgPlayerList.NAME, HandlePlayerList); }
/// <inheritdoc /> public virtual void Initialize() { _network.RegisterNetMessage <MsgConCmdReg>(MsgConCmdReg.NAME, HandleConCmdReg); _network.RegisterNetMessage <MsgConCmdAck>(MsgConCmdAck.NAME, HandleConCmdAck); _network.RegisterNetMessage <MsgConCmd>(MsgConCmd.NAME); Reset(); }
public void Initialize() { _netManager.RegisterNetMessage <MsgScriptStop>(MsgScriptStop.NAME); _netManager.RegisterNetMessage <MsgScriptEval>(MsgScriptEval.NAME); _netManager.RegisterNetMessage <MsgScriptStart>(MsgScriptStart.NAME); _netManager.RegisterNetMessage <MsgScriptResponse>(MsgScriptResponse.NAME, ReceiveScriptResponse); _netManager.RegisterNetMessage <MsgScriptStartAck>(MsgScriptStartAck.NAME, ReceiveScriptStartAckResponse); }
/// <inheritdoc /> public void Initialize() { _sessions = new Dictionary <NetSessionId, IPlayerSession>(); _config.RegisterCVar("player.name", "JoeGenero", CVar.ARCHIVE); _network.RegisterNetMessage <MsgPlayerListReq>(MsgPlayerListReq.NAME); _network.RegisterNetMessage <MsgPlayerList>(MsgPlayerList.NAME, HandlePlayerList); }
/// <inheritdoc /> public void Initialize() { _network.RegisterNetMessage <MsgConCmdReg>(MsgConCmdReg.NAME, HandleConCmdReg); _network.RegisterNetMessage <MsgConCmdAck>(MsgConCmdAck.NAME, HandleConCmdAck); _network.RegisterNetMessage <MsgConCmd>(MsgConCmd.NAME); Reset(); logManager.RootSawmill.AddHandler(new DebugConsoleLogHandler(this)); }
public void Initialize() { DebugTools.Assert(!_initialized); _netManager.RegisterNetMessage <MsgTickerJoinLobby>(nameof(MsgTickerJoinLobby), JoinLobby); _netManager.RegisterNetMessage <MsgTickerJoinGame>(nameof(MsgTickerJoinGame), JoinGame); _netManager.RegisterNetMessage <MsgTickerLobbyStatus>(nameof(MsgTickerLobbyStatus), LobbyStatus); _netManager.RegisterNetMessage <MsgTickerLobbyInfo>(nameof(MsgTickerLobbyInfo), LobbyInfo); _initialized = true; }
/// <inheritdoc /> public void Initialize() { _net.RegisterNetMessage <MsgServerInfo>(MsgServerInfo.NAME, HandleServerInfo); _net.RegisterNetMessage <MsgSetTickRate>(MsgSetTickRate.NAME, HandleSetTickRate); _net.Connected += OnConnected; _net.ConnectFailed += OnConnectFailed; _net.Disconnect += OnNetDisconnect; _playMan.Initialize(); _debugDrawMan.Initialize(); Reset(); }
public void Initialize() { DebugTools.Assert(!_initialized); _netManager.RegisterNetMessage <MsgTickerJoinLobby>(nameof(MsgTickerJoinLobby), _joinLobby); _netManager.RegisterNetMessage <MsgTickerJoinGame>(nameof(MsgTickerJoinGame), _joinGame); _netManager.RegisterNetMessage <MsgTickerLobbyStatus>(nameof(MsgTickerLobbyStatus), _lobbyStatus); _baseClient.RunLevelChanged += BaseClientOnRunLevelChanged; _initialized = true; }
public void Initialize() { _netManager.RegisterNetMessage <MsgSandboxStatus>(nameof(MsgSandboxStatus), message => SetAllowed(message.SandboxAllowed)); _gameHud.SandboxButtonToggled = SandboxButtonToggled; }
public void Initialize() { _netManager.RegisterNetMessage<MsgSandboxStatus>(nameof(MsgSandboxStatus), message => SetAllowed(message.SandboxAllowed)); _netManager.RegisterNetMessage<MsgSandboxRespawn>(nameof(MsgSandboxRespawn)); _gameHud.SandboxButtonToggled = SandboxButtonPressed; _inputManager.SetInputCommand(ContentKeyFunctions.OpenEntitySpawnWindow, InputCmdHandler.FromDelegate(session => ToggleEntitySpawnWindow())); _inputManager.SetInputCommand(ContentKeyFunctions.OpenSandboxWindow, InputCmdHandler.FromDelegate(session => ToggleSandboxWindow())); _inputManager.SetInputCommand(ContentKeyFunctions.OpenTileSpawnWindow, InputCmdHandler.FromDelegate(session => ToggleTilesWindow())); }
public void Initialize() { NetworkManager.RegisterNetMessage <MsgPlacement>(MsgPlacement.NAME, HandlePlacementMessage); _modeDictionary.Clear(); foreach (var type in ReflectionManager.GetAllChildren <PlacementMode>()) { _modeDictionary.Add(type.Name, type); } _mapMan.TileChanged += HandleTileChanged; }
public void Initialize() { DebugTools.Assert(!_initialized); _netManager.RegisterNetMessage <MsgTickerJoinLobby>(nameof(MsgTickerJoinLobby), JoinLobby); _netManager.RegisterNetMessage <MsgTickerJoinGame>(nameof(MsgTickerJoinGame), JoinGame); _netManager.RegisterNetMessage <MsgTickerLobbyStatus>(nameof(MsgTickerLobbyStatus), LobbyStatus); _netManager.RegisterNetMessage <MsgTickerLobbyInfo>(nameof(MsgTickerLobbyInfo), LobbyInfo); _netManager.RegisterNetMessage <MsgTickerLobbyCountdown>(nameof(MsgTickerLobbyCountdown), LobbyCountdown); _netManager.RegisterNetMessage <MsgTickerLobbyReady>(nameof(MsgTickerLobbyReady), LobbyReady); _netManager.RegisterNetMessage <MsgRoundEndMessage>(nameof(MsgRoundEndMessage), RoundEnd); _netManager.RegisterNetMessage <MsgRequestWindowAttention>(nameof(MsgRequestWindowAttention), msg => { IoCManager.Resolve <IClyde>().RequestWindowAttention(); }); _netManager.RegisterNetMessage <MsgTickerLateJoinStatus>(nameof(MsgTickerLateJoinStatus), LateJoinStatus); _netManager.RegisterNetMessage <MsgTickerJobsAvailable>(nameof(MsgTickerJobsAvailable), UpdateJobsAvailable); Status = new Dictionary <NetUserId, PlayerStatus>(); _initialized = true; }
public void Initialize() { _netManager.RegisterNetMessage <MsgViewVariablesOpenSession>(MsgViewVariablesOpenSession.NAME, _netMessageOpenSession); _netManager.RegisterNetMessage <MsgViewVariablesRemoteData>(MsgViewVariablesRemoteData.NAME, _netMessageRemoteData); _netManager.RegisterNetMessage <MsgViewVariablesCloseSession>(MsgViewVariablesCloseSession.NAME, _netMessageCloseSession); _netManager.RegisterNetMessage <MsgViewVariablesDenySession>(MsgViewVariablesDenySession.NAME, _netMessageDenySession); _netManager.RegisterNetMessage <MsgViewVariablesModifyRemote>(MsgViewVariablesModifyRemote.NAME); _netManager.RegisterNetMessage <MsgViewVariablesReqSession>(MsgViewVariablesReqSession.NAME); _netManager.RegisterNetMessage <MsgViewVariablesReqData>(MsgViewVariablesReqData.NAME); }
public void Initialize() { NetworkManager.RegisterNetMessage <MsgPlacement>(MsgPlacement.NAME, HandlePlacementMessage); _modeDictionary.Clear(); foreach (var type in ReflectionManager.GetAllChildren <PlacementMode>()) { _modeDictionary.Add(type.Name, type); } _mapMan.TileChanged += HandleTileChanged; drawNode = new Godot.Node2D() { Name = "Placement Manager Sprite", }; sceneTree.WorldRoot.AddChild(drawNode); drawNodeDrawSubscriber = new GodotGlue.GodotSignalSubscriber0(); drawNodeDrawSubscriber.Connect(drawNode, "draw"); drawNodeDrawSubscriber.Signal += Render; }
public void Initialize() { _netMgr.RegisterNetMessage <MsgUpdateAdminStatus>(MsgUpdateAdminStatus.NAME, UpdateMessageRx); }
public void Initialize() { netManager.RegisterNetMessage <MsgState>(MsgState.NAME, HandleStateMessage); netManager.RegisterNetMessage <MsgStateAck>(MsgStateAck.NAME); baseClient.RunLevelChanged += RunLevelChanged; }
public void Initialize() { _netManager.RegisterNetMessage <MsgConGroupUpdate>(MsgConGroupUpdate.Name, _onConGroupUpdate); }
/// <inheritdoc /> public void Initialize() { _network.RegisterNetMessage <MsgPlayerListReq>(MsgPlayerListReq.NAME); _network.RegisterNetMessage <MsgPlayerList>(MsgPlayerList.NAME, HandlePlayerList); }
public void Initialize() { _netManager.RegisterNetMessage <GamePrototypeLoadMessage>(LoadGamePrototype); }
public void Run() { Logger.Debug("Initializing GameController."); _configurationManager.LoadFromFile(PathHelpers.ExecutableRelativeFile("client_config.toml")); _resourceCache.LoadBaseResources(); // Load resources used by splash screen and main menu. LoadSplashResources(); ShowSplashScreen(); _resourceCache.LoadLocalResources(); //identical code for server in baseserver if (!AssemblyLoader.TryLoadAssembly <GameShared>(_resourceManager, $"Content.Shared")) { if (!AssemblyLoader.TryLoadAssembly <GameShared>(_resourceManager, $"Sandbox.Shared")) { Logger.Warning($"[ENG] Could not load any Shared DLL."); } } if (!AssemblyLoader.TryLoadAssembly <GameClient>(_resourceManager, $"Content.Client")) { if (!AssemblyLoader.TryLoadAssembly <GameClient>(_resourceManager, $"Sandbox.Client")) { Logger.Warning($"[ENG] Could not load any Client DLL."); } } IoCManager.Resolve <ILightManager>().Initialize(); // Call Init in game assemblies. AssemblyLoader.BroadcastRunLevel(AssemblyLoader.RunLevel.Init); //Setup Cluwne first, as the rest depends on it. SetupCluwne(); CleanupSplashScreen(); //Initialization of private members _tileDefinitionManager.InitializeResources(); _serializer.Initialize(); var prototypeManager = IoCManager.Resolve <IPrototypeManager>(); prototypeManager.LoadDirectory(@"Prototypes"); prototypeManager.Resync(); _networkManager.Initialize(false); _console.Initialize(); _netGrapher.Initialize(); _userInterfaceManager.Initialize(); _mapManager.Initialize(); _placementManager.Initialize(); _entityManager.Initialize(); _networkManager.RegisterNetMessage <MsgFullState>(MsgFullState.NAME, message => IoCManager.Resolve <IGameStateManager>().HandleFullStateMessage((MsgFullState)message)); _networkManager.RegisterNetMessage <MsgStateUpdate>(MsgStateUpdate.NAME, message => IoCManager.Resolve <IGameStateManager>().HandleStateUpdateMessage((MsgStateUpdate)message)); _client.Initialize(); _stateManager.RequestStateChange <MainScreen>(); #region GameLoop // maximum number of ticks to queue before the loop slows down. const int maxTicks = 5; _time.ResetRealTime(); var maxTime = TimeSpan.FromTicks(_time.TickPeriod.Ticks * maxTicks); while (CluwneLib.IsRunning) { var accumulator = _time.RealTime - _lastTick; // If the game can't keep up, limit time. if (accumulator > maxTime) { // limit accumulator to max time. accumulator = maxTime; // pull lastTick up to the current realTime // This will slow down the simulation, but if we are behind from a // lag spike hopefully it will be able to catch up. _lastTick = _time.RealTime - maxTime; // announce we are falling behind if ((_time.RealTime - _lastKeepUpAnnounce).TotalSeconds >= 15.0) { Logger.Warning("[ENG] MainLoop: Cannot keep up!"); _lastKeepUpAnnounce = _time.RealTime; } } _time.StartFrame(); var realFrameEvent = new FrameEventArgs((float)_time.RealFrameTime.TotalSeconds); // process Net/KB/Mouse input Process(realFrameEvent); _time.InSimulation = true; // run the simulation for every accumulated tick while (accumulator >= _time.TickPeriod) { accumulator -= _time.TickPeriod; _lastTick += _time.TickPeriod; // only run the sim if unpaused, but still use up the accumulated time if (!_time.Paused) { // update the simulation var simFrameEvent = new FrameEventArgs((float)_time.FrameTime.TotalSeconds); Update(simFrameEvent); _time.CurTick++; } } // if not paused, save how close to the next tick we are so interpolation works if (!_time.Paused) { _time.TickRemainder = accumulator; } _time.InSimulation = false; // render the simulation Render(realFrameEvent); } #endregion GameLoop _networkManager.ClientDisconnect("Client disconnected from game."); CluwneLib.Terminate(); Logger.Info("GameController terminated."); IoCManager.Resolve <IConfigurationManager>().SaveToFile(); }
public void Initialize() { _netManager.RegisterNetMessage <MsgPreferencesAndSettings>(nameof(MsgPreferencesAndSettings), HandlePreferencesAndSettings); }
public void Initialize() { netManager.RegisterNetMessage <MsgState>(MsgState.NAME, HandleStateMessage); netManager.RegisterNetMessage <MsgStateAck>(MsgStateAck.NAME); }
public void Initialize() { _netManager.RegisterNetMessage <MsgGhostKick>(RxCallback); _baseClient.RunLevelChanged += BaseClientOnRunLevelChanged; }
public void Initialize() { _netManager.RegisterNetMessage <MsgChatMessage>(MsgChatMessage.NAME, _onChatMessage); }
/// <inheritdoc /> public void SetupNetworking() { _networkManager.RegisterNetMessage <MsgEntity>(MsgEntity.NAME, HandleEntityNetworkMessage); }