private async Task loadSplashScreen(IGame game) { AGSSplashScreen splashScreen = new AGSSplashScreen(); Rooms.SplashScreen = splashScreen.Load(game); var splashBackground = game.Factory.Object.GetObject("Splash Background"); splashBackground.Image = await game.Factory.Graphics.LoadImageAsync("Rooms/Splash/bg.png"); Rooms.SplashScreen.Background = splashBackground; game.State.Rooms.Add(Rooms.SplashScreen); Rooms.SplashScreen.Events.OnAfterFadeIn.SubscribeToAsync(async() => { await loadRooms(game); Debug.WriteLine("Startup: Loaded Rooms"); Task charactersLoaded = loadCharacters(game); await loadUi(game); Debug.WriteLine("Startup: Loaded UI"); DefaultInteractions defaults = new DefaultInteractions(game, game.Events); defaults.Load(); await charactersLoaded; Debug.WriteLine("Startup: Loaded Characters"); await game.State.Player.ChangeRoomAsync(Rooms.EmptyStreet.Result, 50, 30); }); await game.State.ChangeRoomAsync(Rooms.SplashScreen); Debug.WriteLine("Startup: Loaded splash screen"); }
private async Task loadSplashScreen(IGame game) { AGSSplashScreen splashScreen = new AGSSplashScreen(); Rooms.SplashScreen = splashScreen.Load(game); game.State.Rooms.Add(Rooms.SplashScreen); Rooms.SplashScreen.Events.OnAfterFadeIn.SubscribeToAsync(async() => { await loadRooms(game); Debug.WriteLine("Startup: Loaded Rooms"); Task charactersLoaded = loadCharacters(game); var topPanel = await loadUi(game); Debug.WriteLine("Startup: Loaded UI"); DefaultInteractions defaults = new DefaultInteractions(game, game.Events); defaults.Load(); await charactersLoaded; Debug.WriteLine("Startup: Loaded Characters"); await game.State.Player.ChangeRoomAsync(Rooms.EmptyStreet.Result, 50, 30); topPanel.Visible = true; }); await game.State.ChangeRoomAsync(Rooms.SplashScreen); Debug.WriteLine("Startup: Loaded splash screen"); }