private void Startup() { ThreadUtility.MainThread = Thread.CurrentThread; InitIoC(); SetupLogging(); // Set up custom synchronization context. // Sorry Godot. _taskManager.Initialize(); // Load config. _configurationManager.LoadFromFile(PathHelpers.ExecutableRelativeFile("client_config.toml")); if (Mode == DisplayMode.Clyde) { _clyde = IoCManager.Resolve <IClyde>(); } // Init resources. // Doesn't do anything right now because TODO Godot asset management is a bit ad-hoc. _resourceCache.LoadBaseResources(); _resourceCache.LoadLocalResources(); // Bring display up as soon as resources are mounted. _displayManager.Initialize(); _displayManager.SetWindowTitle("Space Station 14"); if (Mode == DisplayMode.Clyde) { _fontManager = IoCManager.Resolve <IFontManagerInternal>(); _fontManager.Initialize(); } //identical code for server in baseserver if (!AssemblyLoader.TryLoadAssembly <GameShared>(_resourceManager, $"Content.Shared")) { Logger.Warning($"[ENG] Could not load any Shared DLL."); } if (!AssemblyLoader.TryLoadAssembly <GameClient>(_resourceManager, $"Content.Client")) { Logger.Warning($"[ENG] Could not load any Client DLL."); } // Call Init in game assemblies. AssemblyLoader.BroadcastRunLevel(AssemblyLoader.RunLevel.Init); _eyeManager.Initialize(); _serializer.Initialize(); _userInterfaceManager.Initialize(); _networkManager.Initialize(false); _inputManager.Initialize(); _console.Initialize(); _prototypeManager.LoadDirectory(new ResourcePath(@"/Prototypes/")); _prototypeManager.Resync(); _tileDefinitionManager.Initialize(); _mapManager.Initialize(); _lightManager.Initialize(); _entityManager.Initialize(); _gameStateManager.Initialize(); _overlayManager.Initialize(); _placementManager.Initialize(); _viewVariablesManager.Initialize(); RichPresenceClient presence = new RichPresenceClient(); _client.Initialize(); AssemblyLoader.BroadcastRunLevel(AssemblyLoader.RunLevel.PostInit); _stateManager.RequestStateChange <MainScreen>(); _clyde?.Ready(); var args = GetCommandLineArgs(); if (args.Contains("--connect")) { _client.ConnectToServer("127.0.0.1", 1212); } }
public void Startup() { SetupLogging(_logManager); var args = GetCommandLineArgs(); // Set up custom synchronization context. // Sorry Godot. _taskManager.Initialize(); // Figure out user data directory. var userDataDir = _getUserDataDir(args); if (LoadConfigAndUserData) { var configFile = Path.Combine(userDataDir, "client_config.toml"); if (File.Exists(configFile)) { // Load config from user data if available. _configurationManager.LoadFromFile(configFile); } else { // Else we just use code-defined defaults and let it save to file when the user changes things. _configurationManager.SetSaveFile(configFile); } } _signalHandler.MaybeStart(); _resourceCache.Initialize(LoadConfigAndUserData ? userDataDir : null); #if FULL_RELEASE _resourceCache.MountContentDirectory(@"Resources/"); #else _resourceCache.MountContentDirectory($@"{ContentRootDir}RobustToolbox/Resources/"); _resourceCache.MountContentDirectory($@"{ContentRootDir}bin/Content.Client/", new ResourcePath("/Assemblies/")); _resourceCache.MountContentDirectory($@"{ContentRootDir}Resources/"); #endif // Default to en-US. // Perhaps in the future we could make a command line arg or something to change this default. _localizationManager.LoadCulture(new CultureInfo("en-US")); // Bring display up as soon as resources are mounted. _displayManager.Initialize(); _displayManager.SetWindowTitle("Space Station 14"); _fontManager.Initialize(); //identical code for server in baseserver if (!_modLoader.TryLoadAssembly <GameShared>(_resourceManager, $"Content.Shared")) { Logger.FatalS("eng", "Could not load any Shared DLL."); throw new NotSupportedException("Cannot load client without content assembly"); } if (!_modLoader.TryLoadAssembly <GameClient>(_resourceManager, $"Content.Client")) { Logger.FatalS("eng", "Could not load any Client DLL."); throw new NotSupportedException("Cannot load client without content assembly"); } // Call Init in game assemblies. _modLoader.BroadcastRunLevel(ModRunLevel.Init); _eyeManager.Initialize(); _serializer.Initialize(); _userInterfaceManager.Initialize(); _networkManager.Initialize(false); _inputManager.Initialize(); _console.Initialize(); _prototypeManager.LoadDirectory(new ResourcePath(@"/Prototypes/")); _prototypeManager.Resync(); _mapManager.Initialize(); _lightManager.Initialize(); _entityManager.Initialize(); _gameStateManager.Initialize(); _placementManager.Initialize(); _viewVariablesManager.Initialize(); _client.Initialize(); _discord.Initialize(); _modLoader.BroadcastRunLevel(ModRunLevel.PostInit); _stateManager.RequestStateChange <MainScreen>(); _clyde?.Ready(); if (args.Contains("--connect")) { _client.ConnectToServer("127.0.0.1", 1212); } }
private void Startup() { ThreadUtility.MainThread = Thread.CurrentThread; InitIoC(); SetupLogging(); var args = GetCommandLineArgs(); // Set up custom synchronization context. // Sorry Godot. _taskManager.Initialize(); // Figure out user data directory. var userDataDir = _getUserDataDir(args); var configFile = Path.Combine(userDataDir, "client_config.toml"); if (File.Exists(configFile)) { // Load config from user data if available. _configurationManager.LoadFromFile(configFile); } else { // Else we just use code-defined defaults and let it save to file when the user changes things. _configurationManager.SetSaveFile(configFile); } if (Mode == DisplayMode.Clyde) { _clyde = IoCManager.Resolve <IClyde>(); } _resourceCache.Initialize(userDataDir); _resourceCache.LoadBaseResources(); // Bring display up as soon as resources are mounted. _displayManager.Initialize(); _displayManager.SetWindowTitle("Space Station 14"); if (Mode == DisplayMode.Clyde) { _fontManager = IoCManager.Resolve <IFontManagerInternal>(); _fontManager.Initialize(); } //identical code for server in baseserver if (!AssemblyLoader.TryLoadAssembly <GameShared>(_resourceManager, $"Content.Shared")) { Logger.Warning($"[ENG] Could not load any Shared DLL."); } if (!AssemblyLoader.TryLoadAssembly <GameClient>(_resourceManager, $"Content.Client")) { Logger.Warning($"[ENG] Could not load any Client DLL."); } // Call Init in game assemblies. AssemblyLoader.BroadcastRunLevel(AssemblyLoader.RunLevel.Init); _eyeManager.Initialize(); _serializer.Initialize(); _userInterfaceManager.Initialize(); _networkManager.Initialize(false); _inputManager.Initialize(); _console.Initialize(); _prototypeManager.LoadDirectory(new ResourcePath(@"/Prototypes/")); _prototypeManager.Resync(); _mapManager.Initialize(); _lightManager.Initialize(); _entityManager.Initialize(); _gameStateManager.Initialize(); _overlayManager.Initialize(); _placementManager.Initialize(); _viewVariablesManager.Initialize(); _client.Initialize(); _discord.Connect(); AssemblyLoader.BroadcastRunLevel(AssemblyLoader.RunLevel.PostInit); _stateManager.RequestStateChange <MainScreen>(); _clyde?.Ready(); if (args.Contains("--connect")) { _client.ConnectToServer("127.0.0.1", 1212); } }