private void Awake() { _Cursor.Init(this); _ScenePool = GameObject.FindGameObjectWithTag("GameController").GetComponent <ScenePool> (); EventManager.OnStageStarted += StageStarted; }
static void RunApplication(bool fullscreen) { var serviceCollection = new ServiceCollection(); ConfigureServices(serviceCollection); var options = new ServiceProviderOptions { ValidateOnBuild = true, ValidateScopes = true }; using var serviceProvider = serviceCollection.BuildServiceProvider(options); var logger = serviceProvider.GetRequiredService <ILogger <Program> >(); try { var scenePool = new ScenePool <PiranhaScene>(); var gameLoop = ActivatorUtilities.CreateInstance <GameLoop>(serviceProvider, scenePool); var windowManager = serviceProvider.GetRequiredService <IWindowManager>(); var handler = ActivatorUtilities.CreateInstance <SampleHandler>(serviceProvider, scenePool); windowManager.AddWindow("Sample Application", 1024, 768, fullscreen, handler); using (ActivatorUtilities.CreateInstance <GameLoopManager>(serviceProvider, gameLoop)) windowManager.Run(); } catch (Exception ex) { logger.LogError(ex, "Error running window manager."); } }