示例#1
0
 private void Window_KeyReleased(object sender, SFML.Window.KeyEventArgs e)
 {
     if (tempKeysDown.Contains(e.Code))
     {
         tempKeysDown.Remove(e.Code);
     }
 }
示例#2
0
 private void Window_KeyPressed(object sender, SFML.Window.KeyEventArgs e)
 {
     if (!tempKeysDown.Contains(e.Code))
     {
         tempKeysDown.Add(e.Code);
     }
 }
示例#3
0
        /// <summary>
        /// Function called when a key is pressed
        /// </summary>
        private void Window_KeyPressed(object sender, SFML.Window.KeyEventArgs e)
        {
            var window = (SFML.Window.Window)sender;

            if (e.Code == SFML.Window.Keyboard.Key.Escape)
            {
                window.Close();
            }
            if (SFML.Window.Keyboard.IsKeyPressed(SFML.Window.Keyboard.Key.Left))
            {
                player.moveShip(0);
            }
            if (SFML.Window.Keyboard.IsKeyPressed(SFML.Window.Keyboard.Key.Right))
            {
                player.moveShip(1);
            }
            if (SFML.Window.Keyboard.IsKeyPressed(SFML.Window.Keyboard.Key.Space))
            {
                foreach (Airship.Blueprint.Bullets bullet in bulletList)
                {
                    if (bullet.thrown == false)
                    {
                        bullet.thrown = true;
                        break;
                    }
                }
            }
        }
示例#4
0
 private void renderWindow_KeyPressed(object sender, SFML.Window.KeyEventArgs e)
 {
     if (e.Code == SFML.Window.Keyboard.Key.Escape)
     {
         renderWindow.Close();
     }
 }
示例#5
0
        private void Window_KeyReleased(object sender, SFML.Window.KeyEventArgs e)
        {
            //var sadKey = e.Code.ToSadConsole();

            //if (sadKey != Input.Keys.None && _keys.Contains(sadKey))
            //    _keys.Remove(sadKey);
        }
示例#6
0
 public override void HandleInput(GameData data, SFML.Window.KeyEventArgs e)
 {
     if (e.Code == SFML.Window.Keyboard.Key.Escape)
     {
         data.State.AddState(new GamePlayState(), true);
     }
 }
        /// <summary>
        /// Function called when a key is pressed
        /// </summary>
        private void Window_KeyPressed(object sender, SFML.Window.KeyEventArgs e)
        {
            var window = (SFML.Window.Window)sender;

            if (e.Code == SFML.Window.Keyboard.Key.Escape)
            {
                window.Close();
            }
        }
示例#8
0
 private void Window_KeyPressed(object sender, SFML.Window.KeyEventArgs e)
 {
     foreach (var entity in m_container.Entities)
     {
         foreach (var input in entity.GetComponents <IInputComponent>())
         {
             input.Keys[e.Code] = true;
         }
     }
 }
示例#9
0
        public override void HandleInput(GameData data, SFML.Window.KeyEventArgs e)
        {
            switch (e.Code)
            {
            case SFML.Window.Keyboard.Key.Up:
                ChangeSelection(true);
                break;

            case SFML.Window.Keyboard.Key.Down:
                ChangeSelection(false);
                break;

            case SFML.Window.Keyboard.Key.Return:
                EnterSelection(data);
                break;
            }
        }
示例#10
0
        private void WindowKeyReleased(object sender, SFML.Window.KeyEventArgs e)
        {
            if (!Engine.Instance.Window.InFocus)
            {
                return;
            }

            if (e.Code == KeyBindsAccessor.Instance.QuitProgram)
            {
                Engine.Instance.Window.Exit();
            }
            else if (e.Code == KeyBindsAccessor.Instance.EndTurn)
            {
                TurnHandlerEnt.Notify(Owner, GameEvent.TRIGGER_TURN_END);
            }
            else if (e.Code == KeyBindsAccessor.Instance.ConfMove)
            {
                GridEnt.Notify(Owner, GameEvent.GRID_MOVE_CONF);
            }
        }
示例#11
0
        public override void HandleInput(GameData data, SFML.Window.KeyEventArgs e)
        {
            switch (e.Code)
            {
            case SFML.Window.Keyboard.Key.Left:
                LegalMoveLeftRight(-1);
                break;

            case SFML.Window.Keyboard.Key.Right:
                LegalMoveLeftRight(1);
                break;

            case SFML.Window.Keyboard.Key.Down:
                LegalMoveUpDown(_activePiece, 1);
                break;

            case SFML.Window.Keyboard.Key.F:
                TryRotate(_activePiece, true);
                break;

            case SFML.Window.Keyboard.Key.D:
                TryRotate(_activePiece, false);
                break;

            case SFML.Window.Keyboard.Key.LShift:
                HoldPiece();
                break;

            case SFML.Window.Keyboard.Key.Space:
                HardDrop(_activePiece, 1);
                DropActivePiece();
                break;

            case SFML.Window.Keyboard.Key.Escape:
                data.State.AddState(new PauseState(), false);
                break;
            }
        }
示例#12
0
        private void WindowKeyReleased(object sender, SFML.Window.KeyEventArgs e)
        {
            if (e.Code == KeyBindsAccessor.Instance.ToggleTeamSelection)
            {
                var unitTypes = Enum.GetValues(typeof(UnitType)).Cast <UnitType>().ToList();
                var i         = unitTypes.IndexOf(EntFactory.Instance.UnitTypeToCreate);

                i++;

                if (i >= unitTypes.Count)
                {
                    i = 0;
                }

                var unitToCreate = unitTypes[i];
                EntFactory.Instance.UnitTypeToCreate = unitToCreate;
                Owner.Notify("Creating: " + Enum.GetName(unitToCreate.GetType(), unitToCreate), PerfEvents.UNIT_CREATE_SELECTION);
            }
            else if (e.Code == KeyBindsAccessor.Instance.CycleUnitType)
            {
                var factionTypes = Enum.GetValues(typeof(Faction)).Cast <Faction>().ToList();
                var i            = factionTypes.IndexOf(EntFactory.Instance.FactionToCreate);

                i++;

                if (i >= factionTypes.Count)
                {
                    i = 0;
                }

                var factionToCreate = factionTypes[i];

                EntFactory.Instance.FactionToCreate = factionToCreate;
                Owner.Notify("Faction: " + Enum.GetName(factionToCreate.GetType(), factionToCreate), PerfEvents.FACTION_SELECTION);
            }
        }
示例#13
0
 public abstract void HandleInput(GameData data, SFML.Window.KeyEventArgs e);
示例#14
0
 public void HandleKeyPressed(object sender, SFML.Window.KeyEventArgs e, GameData data)
 {
     data.State.GetActiveState().HandleInput(data, e);
 }
示例#15
0
        private void KeyPressed(object sender, SFML.Window.KeyEventArgs e)
        {
            var key = Game.Context.Input.Decode(e.Code);

            Game.Context.Input.SetKeyStatus(key, Key.Status.Pressed);
        }