public void Startup(InitialWindowParameters windowParameters) { _logManager.RootSawmill.AddHandler(new ConsoleLogHandler()); _taskManager.Initialize(); _signalHandler.MaybeStart(); _taskManager.Initialize(); // TODO: Init user data maybe? _resourceCache.Initialize(null); #if FULL_RELEASE _resourceCache.MountContentDirectory(@"Resources/"); #else _resourceCache.MountContentDirectory($@"../../RobustToolbox/Resources"); _resourceCache.MountContentDirectory($@"../../Resources"); #endif _localizationManager.LoadCulture(CultureInfo.CurrentCulture); if (windowParameters?.Size != null) { var(w, h) = windowParameters.Size.Value; _configurationManager.SetCVar("display.width", w); _configurationManager.SetCVar("display.height", h); } _clyde.Initialize(true); if (windowParameters?.WindowTitle != null) { _clyde.SetWindowTitle(_localizationManager.GetString(windowParameters.WindowTitle)); } _fontManager.Initialize(); _clipboardManager.Initialize(); _eyeManager.Initialize(); _userInterfaceManager.Initialize(); _inputManager.Initialize(); _inputManager.AddClickBind(); _clyde.Ready(); }
public static void Run(Action postInit, InitialWindowParameters windowParameters = null) { IoCManager.InitThread(); ClientIoC.RegisterIoC(GameController.DisplayMode.Clyde); IoCManager.Register <IGameController, LiteGameController>(true); IoCManager.Register <IGameControllerInternal, LiteGameController>(true); IoCManager.Register <LiteGameController, LiteGameController>(true); IoCManager.BuildGraph(); var gc = IoCManager.Resolve <LiteGameController>(); gc.Startup(windowParameters); IoCManager.Resolve <ITaskManager>().RunOnMainThread(postInit); gc.MainLoop(GameController.DisplayMode.Clyde); IoCManager.Clear(); }