public static void Run() { FakeAGSTestGameStarter starter = new FakeAGSTestGameStarter(); var game = AGSGame.CreateEmpty(); _gameDebugView = new Lazy <GameDebugView>(() => { var gameDebugView = new GameDebugView(game, new KeyboardBindings(game.Input)); gameDebugView.Load(); return(gameDebugView); }); starter.StartGame(game); Size screenSize = new AGS.API.Size(320, 200); int factor = 2; AGSGameSettings settings = new AGSGameSettings( "Demo Game", screenSize, windowSize: new AGS.API.Size(screenSize.Width * factor, screenSize.Height * factor), windowState: WindowState.Normal); game.Start(settings); }
public static void Run() { IGame game = AGSGame.CreateEmpty(); _gameDebugView = new Lazy <GameDebugView>(() => { var gameDebugView = new GameDebugView(game); gameDebugView.Load(); return(gameDebugView); }); //Rendering the text at a 4 time higher resolution than the actual game, so it will still look sharp when maximizing the window. GLText.TextResolutionFactorX = 4; GLText.TextResolutionFactorY = 4; game.Events.OnLoad.Subscribe(async() => { game.Factory.Fonts.InstallFonts("../../Assets/Fonts/pf_ronda_seven.ttf", "../../Assets/Fonts/Pixel_Berry_08_84_Ltd.Edition.TTF"); AGSGameSettings.DefaultSpeechFont = game.Factory.Fonts.LoadFontFromPath("../../Assets/Fonts/pf_ronda_seven.ttf", 14f, FontStyle.Regular); AGSGameSettings.DefaultTextFont = game.Factory.Fonts.LoadFontFromPath("../../Assets/Fonts/Pixel_Berry_08_84_Ltd.Edition.TTF", 14f, FontStyle.Regular); AGSGameSettings.CurrentSkin = null; game.State.RoomTransitions.Transition = AGSRoomTransitions.Fade(); setKeyboardEvents(game); Shaders.SetStandardShader(); addDebugLabels(game); Debug.WriteLine("Startup: Loading Assets"); await loadPlayerCharacter(game); Debug.WriteLine("Startup: Loaded Player Character"); await loadSplashScreen(game); }); game.Start(new AGSGameSettings("Demo Game", new AGS.API.Size(320, 200), windowSize: new AGS.API.Size(640, 400), windowState: WindowState.Normal)); }
public static void Run() { setupResolver(); IGame game = AGSGame.CreateEmpty(); //Rendering the text at a 4 time higher resolution than the actual game, so it will still look sharp when maximizing the window. GLText.TextResolutionFactorX = 4; GLText.TextResolutionFactorY = 4; game.Events.OnLoad.Subscribe(async() => { AGSGameSettings.CurrentSkin = null; //addDebugLabels(game); WelcomeScreen screen = new WelcomeScreen(game); screen.Load(); screen.Show(); var room = game.Factory.Room.GetRoom("MainEditorRoom"); await game.State.ChangeRoomAsync(room); }); game.Start(new AGSGameSettings("MonoAGS Editor", new AGS.API.Size(1280, 800), windowSize: new AGS.API.Size(1280, 800), windowState: WindowState.Normal, preserveAspectRatio: false)); }
private static async Task load(AGSProject agsProj) { var(games, assembly) = await GetGames(agsProj); if (games.Count == 0) { throw new Exception($"Cannot load game: failed to find an instance of IGameCreator in {agsProj.AGSProjectPath}."); } if (games.Count > 1) { throw new Exception($"Cannot load game: found more than one instance of IGameCreator in {agsProj.AGSProjectPath}."); } var gameCreatorImplementation = games[0]; var gameCreator = (IGameStarter)Activator.CreateInstance(gameCreatorImplementation); var game = AGSGame.CreateEmpty(); gameCreator.StartGame(game); KeyboardBindings keyboardBindings = null; if (game is AGSGame agsGame) //todo: find a solution for any IGame implementation { Resolver resolver = agsGame.GetResolver(); keyboardBindings = resolver.Container.Resolve <KeyboardBindings>(); var resourceLoader = resolver.Container.Resolve <IResourceLoader>(); resourceLoader.ResourcePacks.Add(new ResourcePack(new EmbeddedResourcesPack(assembly), 2)); } _gameDebugView = new Lazy <GameDebugView>(() => { var gameDebugView = new GameDebugView(game, keyboardBindings); gameDebugView.Load(); return(gameDebugView); }); game.Start(new AGSGameSettings("Demo Game", new AGS.API.Size(320, 200), windowSize: new AGS.API.Size(640, 400), windowState: WindowState.Normal)); keyboardBindings.OnKeyboardShortcutPressed.Subscribe(async action => { if (action == KeyboardBindings.GameView) { var gameDebug = _gameDebugView.Value; if (gameDebug.Visible) { gameDebug.Hide(); } else { await gameDebug.Show(); } } }); }
public static void Run() { IGame game = AGSGame.CreateEmpty(); game.Events.OnLoad.Subscribe(async() => { setupGame(game); await loadIntroRoom(game); }); game.Start(new AGSGameSettings("A Game", new AGS.API.Size(1280, 720), windowState: WindowState.Normal)); }
// TODO: proper struct to pass arguments public static void Run(string asset_path, string user_path) { AMG.Init(asset_path, user_path); IGame game = AGSGame.CreateEmpty(); game.Events.OnLoad.Subscribe(async() => { setupGame(game); await AMG.Rooms.MixerRoom.GotoAsync(); }); game.Start(new AGSGameSettings("Audio Mixer Test Game", new AGS.API.Size(1280, 800), windowState: WindowState.Normal)); }
// TODO: proper struct to pass arguments public static void Run(string asset_path, string user_path) { LF.Init(asset_path, user_path); IGame game = AGSGame.CreateEmpty(); game.Events.OnLoad.Subscribe(async() => { setupGame(game); await LF.Rooms.TitleScreen.GotoAsync(); }); game.Start(new AGSGameSettings("Last & Furious", new AGS.API.Size(640, 400), windowState: WindowState.Normal)); }
// TODO: proper struct to pass arguments public static void Run(string asset_path, string user_path) { Assets.Init(asset_path, user_path); IGame game = AGSGame.CreateEmpty(); game.Events.OnLoad.Subscribe(async() => { setupGame(game); await Assets.Rooms.ParallaxRoom.GotoAsync(); }); game.Start(new AGSGameSettings("Layer Game", new AGS.API.Size(640, 400), windowState: WindowState.Normal)); }
public static void Run() { DemoStarter starter = new DemoStarter(); var game = AGSGame.CreateEmpty(); _gameDebugView = new Lazy <GameDebugView>(() => { var gameDebugView = new GameDebugView(game, new KeyboardBindings(game.Input)); gameDebugView.Load(); return(gameDebugView); }); starter.StartGame(game); game.Start(new AGSGameSettings("Demo Game", new AGS.API.Size(320, 200), windowSize: new AGS.API.Size(640, 400), windowState: WindowState.Normal)); }