Beispiel #1
0
        public StartUp(IGameScene gameScene, IMouse mouse, ISound sound)
        {
            GameScene = gameScene;
            Mouse     = mouse;
            var parameters = new Parameters();

            Sound  = new PixSound(new Sounds(sound));
            Drawer = new Drawer(parameters, gameScene);
            var IdProcessor = new BlockIdProcessor();
            var tileManager = new TileManager(Drawer, IdProcessor, parameters);

            engine = new Engine.Engine(tileManager, Drawer);
            var craftingSystem = new CraftingModule(Craftings.GetCraftings(), tileManager);
            var StatusWindow   = new InventoryForm(craftingSystem, engine, mouse, Drawer, gameScene);
            var playerstatus   = new PlayerStatus(StatusWindow, parameters);
            var blockConverter = new BlockConverter(Drawer, IdProcessor);
            var moveDefiner    = new PlayerMoveDefiner(gameScene, mouse);

            SaveManager = new SaveManager(tileManager, playerstatus, blockConverter, engine.Center, engine);
            var pauseMenu = new PauseForm(engine, SaveManager, mouse, Drawer, gameScene);
            var oreTable  = new OreTable(OreResource.InitOreTable());

            pointerController = new PointerController(playerstatus, tileManager, moveDefiner, Drawer, Sound, parameters, engine, mouse);
            player            = new Player(pauseMenu, tileManager, moveDefiner, playerstatus, Drawer, engine, Sound, parameters, gameScene, pointerController);
            MobSpawner        = new MobSpawner(engine, tileManager, Drawer, Sound, player);
            Generator         = new Generator(tileManager, oreTable, Drawer, parameters);
        }
Beispiel #2
0
        private void GameScreen_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            // opens a pause screen is escape is pressed. Depending on what is pressed
            // on pause screen the program will either continue or exit to main menu
            if (e.KeyCode == Keys.Escape && gameTimer.Enabled)
            {
                gameTimer.Enabled = false;
                rightArrowDown    = leftArrowDown = upArrowDown = downArrowDown = false;

                DialogResult result = PauseForm.Show();

                if (result == DialogResult.Cancel)
                {
                    gameTimer.Enabled = true;
                }
                else if (result == DialogResult.Abort)
                {
                    MainForm.ChangeScreen(this, "MenuScreen");
                }
            }

            //TODO - basic player 1 key down bools set below. Add remainging key down
            // required for player 1 or player 2 here.

            //player 1 button presses
            switch (e.KeyCode)
            {
            case Keys.Left:
                leftArrowDown = true;
                break;

            case Keys.Right:
                rightArrowDown = true;
                break;

            case Keys.Up:
                upArrowDown = true;
                if (isJumping == false)
                {
                    isJumping = true;
                }
                break;

            case Keys.Space:
                spaceDown = true;
                if (bulletDelayWatch.ElapsedMilliseconds >= 1900)
                {
                    shot = true;
                    bulletDelayWatch.Stop();
                    bulletDelayWatch.Reset();
                }
                break;

            case Keys.M:
                mDown = true;
                break;
            }
        }
Beispiel #3
0
        private void CurrentGame_Paused(object sender, EventArgs e)
        {
            if (_pauseDisplay == null)
            {
                _pauseDisplay = new PauseForm(CurrentGame);
            }
            _pauseDisplay.ShowDialog(CurrentGame);

            // Otherwise KeyDown (MainForm) wont trigger
            CurrentGame.Focus();
        }
Beispiel #4
0
 public Player(PauseForm pauseMenu, IActiveElements activeElements, IMoveDefiner definer, PlayerStatus status, IDrawer drawer, IMover mover, IPixSound sound, IMovableObjectParameters parameters, IGameScene scene, PointerController pointer) : base(activeElements, drawer, definer, status, sound, parameters)
 {
     position      = new Vector2(0, 0);
     size          = 10;
     image         = 0;
     status.OnKill = KillPlayer;
     settingsForm  = pauseMenu;
     Mover         = mover;
     Scene         = scene;
     Pointer       = pointer;
 }
Beispiel #5
0
        public void pause(int step)
        {
            Script s = current;

            s.param["time"] = step;
            s.translate     = () => "暂停[#Blue]" + s.param["time"] + "[]帧";
            s.onClick       = () => {
                var form = new PauseForm().init(s);
                form.ShowDialog();
            };
            s.getScript = () => "pause(" + s.param["time"] + ");";
        }
Beispiel #6
0
        private void GameScreen_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            if (e.KeyCode == Keys.Escape && gameTimer.Enabled)
            {
                gameTimer.Enabled = false;
                rightArrowDown    = leftArrowDown = upArrowDown = downArrowDown = false;

                DialogResult result = PauseForm.Show();

                if (result == DialogResult.Cancel)
                {
                    gameTimer.Enabled = true;
                }
                else if (result == DialogResult.Abort)
                {
                    mainForm.ChangeScreen(this, "MenuScreen");
                }
            }

            switch (e.KeyCode)
            {
            case Keys.Left:
                leftArrowDown = true;
                break;

            case Keys.Down:
                downArrowDown = true;
                break;

            case Keys.Right:
                rightArrowDown = true;
                break;

            case Keys.Up:
                upArrowDown = true;
                break;

            case Keys.Space:
                spaceDown = true;
                break;

            case Keys.M:
                mDown = true;
                break;
            }
        }
Beispiel #7
0
 private void pause_Click(object sender, EventArgs e)
 {
     if (!IsPaused)
     {
         StopTimers();
         IsPaused    = true;
         pause.Image = Resources.play_icon;
         PauseForm.Show();
     }
     else
     {
         StartTimers();
         IsPaused    = false;
         pause.Image = Resources.pause_icon;
         PauseForm.Hide();
     }
 }