Ejemplo n.º 1
0
 public static void SwitchToGame(string worldname, WorldData world)
 {
     Mode = ProgramMode.Game;
     Program.worldname = worldname;
     GameRenderer.Init();
     GameLogic.InitLoad(world.terrain, world.entities);
     GameTime.Update();
 }
Ejemplo n.º 2
0
 public static void SwitchToGame(string worldname, int seed)
 {
     Mode = ProgramMode.Game;
     Program.worldname = worldname;
     GameRenderer.Init();
     GameLogic.InitNew(seed);
     GameTime.Update();
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        protected override void OnLoad(EventArgs e)
        {
            this.renderer = new GameRenderer();

            this.game = new GameState();
        }
Ejemplo n.º 6
0
        protected override void OnLoad(EventArgs e)
        {
            this.renderer = new GameRenderer();

            this.game = new GameState();
        }