public static void SwitchToGame(string worldname, WorldData world) { Mode = ProgramMode.Game; Program.worldname = worldname; GameRenderer.Init(); GameLogic.InitLoad(world.terrain, world.entities); GameTime.Update(); }
public static void SwitchToGame(string worldname, int seed) { Mode = ProgramMode.Game; Program.worldname = worldname; GameRenderer.Init(); GameLogic.InitNew(seed); GameTime.Update(); }
public static void Main(params string[] commandLineArgs) { isDebugMode = commandLineArgs.Contains("-debug"); gameForm.Show(); var gameFieldSize = new GameFieldSize(gameForm.GameFieldSize.Height, gameForm.GameFieldSize.Width); var renderersLoader = new ResourcesLoader(Path.Combine(PathHelpers.RootPath, "Resources"), playerSizesByStates, enemiesSizesByBehavior); texturesRepository = renderersLoader.LoadTextures(); var renderersSet = renderersLoader.LoadRenderers(); gameRenderer = new GameRenderer( new PointF(gameForm.GameFieldSize.Width - (float)gameFieldSize.Width, (float)gameFieldSize.Height), renderersSet); var game = new GameModel( new RandomBehaviorEnemyFactory(enemiesSizesByBehavior, StandingEnemyBehavior.Creator(), FlyingEnemyBehavior.Creator(1), FlyingEnemyBehavior.Creator(2), RunningEnemyBehavior.Creator(1), RunningEnemyBehavior.Creator(1.5)), gameFieldSize, playerSizesByStates); gameForm.KeyDown += (_, args) => keyboardController.KeyPressed(args.KeyCode); gameForm.KeyUp += (_, args) => keyboardController.KeyReleased(args.KeyCode); RedrawEnvironment(); using var timer = new Timer { Interval = BetweenTicksDelay }; timer.Tick += (_, __) => { game.Tick(keyboardController.ActiveAction); UpdateGameField(game); }; timer.Start(); Application.Run(gameForm); }
private static void MainGameLoop() { Gl.ClearColor(1, 1, 1, 1); Gl.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); ErrorCode error = Gl.GetError(); Debug.Assert(error == ErrorCode.NoError); GameTime.Update(); CooldownTimer.Update(); if (Mode == ProgramMode.Game) { GameGuiRenderer.RenderBackground(); GameRenderer.Render(); GameLogic.Update(); } Gui.Render(); Gui.Update(); Input.Update(); Glut.glutSwapBuffers(); }
protected override void OnLoad(EventArgs e) { this.renderer = new GameRenderer(); this.game = new GameState(); }