public override ControlActions GetAction() { ControlActions action = 0; var keyInfo = new ConsoleKeyInfo(); keyInfo = Console.ReadKey(true); switch (keyInfo.Key) { case ConsoleKey.LeftArrow: action = ControlActions.MoveLeft; break; case ConsoleKey.RightArrow: action = ControlActions.MoveRight; break; case ConsoleKey.UpArrow: action = ControlActions.MoveUp; break; case ConsoleKey.DownArrow: action = ControlActions.MoveDown; break; case ConsoleKey.Spacebar: action = ControlActions.Shoot; break; } return(action); }
//private public void GameControl() { while (!GameOver) { if (GameOver) { break; } _action = _controlBase.GetAction(); switch (_action) { case ControlActions.MoveUp: _direction = MoveDirection.Up; break; case ControlActions.MoveDown: _direction = MoveDirection.Down; break; case ControlActions.MoveLeft: _direction = MoveDirection.Left; break; case ControlActions.MoveRight: _direction = MoveDirection.Right; break; case ControlActions.Shoot: _tank.Shoot(MyTank[1].X, MyTank[1].Y, _direction); break; } } }
public GameEngineControl(TankEngine tank, EnemyTankEngine enemyTank, BulletEngine bullet, ControlBase controlBase, MapBase map, MoveDirection direction, MoveDirection enemyDirection) { PlayerWin = false; GameOver = false; _tank = tank; _enemyTank = enemyTank; _bullet = bullet; _controlBase = controlBase; _map = map; _lastDirection = direction; _direction = direction; _lastEnemyDirection = enemyDirection; _enemyDirection = enemyDirection; _bulletsTimer = new Timer(10000); _bulletsTimer.Elapsed += BulletsTimerOnElapsed; _bulletsTimer.Interval = _bullesSpeed; _tanksTimer = new Timer(10000); _tanksTimer.Elapsed += TanksTimerOnElapsed; _tanksTimer.Interval = _tanksSpeed; switch (direction) { case MoveDirection.Up: _action = ControlActions.MoveUp; break; case MoveDirection.Down: _action = ControlActions.MoveDown; break; case MoveDirection.Right: _action = ControlActions.MoveRight; break; case MoveDirection.Left: _action = ControlActions.MoveLeft; break; } switch (enemyDirection) { case MoveDirection.Up: _enemyAction = ControlActions.MoveUp; break; case MoveDirection.Down: _enemyAction = ControlActions.MoveDown; break; case MoveDirection.Right: _enemyAction = ControlActions.MoveRight; break; case MoveDirection.Left: _enemyAction = ControlActions.MoveLeft; break; } }
public static void SetControl(ControlActions controlAction, Keys key) { if (KeyToControl.ContainsValue(controlAction)) { KeyToControl.Remove(KeyToControl.First(kv => kv.Value == controlAction).Key); } KeyToControl[key] = controlAction; }
/// <summary> /// Начинает процесс смены кнопки управления заданным действием /// </summary> /// <param name="ca">Действие, управление которым мы собираемся менять</param> private void ChangeControls(ControlActions ca) { Choise = ca; foreach (var b in ChoiseButtons) { ChoiseButtons[b.Key].SetText(GUI.Controls.KeyFromControl(b.Key).ToString()); } ChoiseButtons[ca].SetText("<choose>"); }
/// <inheritdoc /> /// <summary> /// При нажатии клавиши, если происходит смена клавиши управления — меняем её на на нажатую. /// </summary> /// <param name="sender">Объект, вызвавший событие</param> /// <param name="e">Параметры события</param> protected override void OnKeyDown(object sender, KeyEventArgs e) { if (Choise == ControlActions.None) { return; } GUI.Controls.SetControl(Choise, e.KeyCode); foreach (var b in ChoiseButtons) { ChoiseButtons[b.Key].SetText(GUI.Controls.KeyFromControl(b.Key).ToString()); } Choise = ControlActions.None; }
void Awake() { if (instance != null && instance != this) { Destroy(this.gameObject); } else { instance = this; DontDestroyOnLoad(this); } Actions = new ControlActions(); MoveVector = new Vector2(0, 0); AttackVector = new Vector2(0, 0); }
public static bool IsActionAllowed(this ControlActions controlAction, Type controlType) { switch (controlAction) { case ControlActions.New: return(controlType == typeof(UserControlA) || controlType == typeof(UserControlB) || controlType == typeof(UserControlC)); case ControlActions.Edit: return(controlType == typeof(UserControlA)); case ControlActions.Delete: return(controlType == typeof(UserControlA) || controlType == typeof(UserControlC)); } return(false); }
//Vector2 movement1; //Vector2 movement2; private void Awake() { pTransform = PlayerCube.GetComponent <Transform>(); controls = new ControlActions(); controls.Player.Move.performed += ctx => movement = ctx.ReadValue <Vector2>(); controls.Player.Move.canceled += ctx => movement = Vector2.zero; /* * controls.Player.Move1.performed += ctx => movement1 = ctx.ReadValue<Vector2>(); * controls.Player.Move1.canceled += ctx => movement1 = Vector2.zero; * * controls.Player.Move2.performed += ctx => movement2 = ctx.ReadValue<Vector2>(); * controls.Player.Move2.canceled += ctx => movement2 = Vector2.zero; */ }
/// <summary> /// Show the control scheme creator in a certain mode. /// </summary> /// <param name="mode">Whether we're creating or editing.</param> public void Show(ControlSchemeCreatorMode mode) { CreatorObject.SetActive(true); SelectorObject.SetActive(false); Mode = mode; switch (mode) { case ControlSchemeCreatorMode.Create: { _currentlyEditingScheme = new ControlScheme(ControlActions.CreateDefaultTank(), "NewScheme", false); SubmitSchemeButtonText.text = "Save"; NameVerifier.CanHaveSameName = false; SubmitSchemeButton.interactable = NameVerifier.Validate(_currentlyEditingScheme.Name); SchemeNameField.interactable = true; SchemeNameField.text = _currentlyEditingScheme.Name; break; } case ControlSchemeCreatorMode.Edit: { _currentlyEditingScheme = ControlSchemeLoader.Current; SubmitSchemeButtonText.text = "Save"; SubmitSchemeButton.interactable = true; Debug.Log("Editing scheme..."); Debug.Log(SubmitSchemeButton.interactable); NameVerifier.Button.interactable = true; SchemeNameField.interactable = false; SchemeNameField.text = ControlSchemeLoader.Current.Name; NameVerifier.CanHaveSameName = true; break; } } RebindContainerPopulator.EditingScheme = _currentlyEditingScheme; UseFpsControlsToggle.isOn = _currentlyEditingScheme.FpsControls; MouseSensitivitySlider.value = _currentlyEditingScheme.MouseSensitivity; TopButtonsTabView.SetAllButtonsInteractable(false); SettingsApplyButton.interactable = false; SettingsBackButton.interactable = false; }
public MoveDirection Control(out ControlActions enemyAction, List <TankFragment> enemyTank, List <TankFragment> myTank, EnemyTankEngine tank, ControlActions enemyTankLastAction, MoveDirection direction, BulletEngine bullet, MapBase map) { ControlActions nextEnemyAction; MoveDirection nextEnemyDirection = 0; EnemyTankChoseActions(out nextEnemyAction, enemyTank, myTank, enemyTankLastAction); if (nextEnemyAction == ControlActions.Shoot) { tank.Shoot(enemyTank[1].X, enemyTank[1].Y, direction); enemyAction = enemyTankLastAction; } else { enemyAction = nextEnemyAction; } switch (enemyAction) { case ControlActions.MoveUp: nextEnemyDirection = MoveDirection.Up; break; //дивитись коментар до GameEngineControl case ControlActions.MoveDown: nextEnemyDirection = MoveDirection.Down; break; case ControlActions.MoveLeft: nextEnemyDirection = MoveDirection.Left; break; case ControlActions.MoveRight: nextEnemyDirection = MoveDirection.Right; break; } return(nextEnemyDirection); }
public FormSDB() { InitializeComponent(); cmbSearch.SelectedIndex = 0; cmbLanguage.SelectedIndex = 0; ChangeControlsOnClients(); Control = new ControlActions(this); //событие закрытия формы this.FormClosed += (sender, e) => Control.CloseService(); //событие выбора комбобокса "Поиск по" cmbSearch.SelectedIndexChanged += (sender, e) => СhangeControls(); //событие нажатия кнопки "Поиск" btnSearch.Click += MainSearch; //событие нажатия кнопки "Информация о клиенте" в таблице "Статистика по клиентам" btnInfoClientCS.Click += SearchClient; //событие нажатия кнопки "Информация о книгах" btnInfoBooks.Click += SearchBook; //событие нажатия кнопки "Информация о клиенте" в таблице "Книги" btnInfoClientB.Click += SearchClient; //событие нажатия кнопки "Статистика клиента" btnClientStatistics.Click += SearchStatisticsClient; }
public Sprite GetControlSprite(ControlActions controlActions, string controlScheme) { Sprite sprite = null; switch (controlScheme) { case "Gamepad": sprite = gamepadButtonSprites[(int)controlActions]; break; case "Keyboard & Mouse": sprite = firstKeyboardButtonSprites[(int)controlActions]; break; case "SecondKeyboard": sprite = secondKeyboardButtonSprites[(int)controlActions]; break; default: break; } return(sprite); }
public GameEngineControl(TankEngine tank, EnemyTankEngine enemyTank, BulletEngine bullet, ControlBase controlBase, MapBase map, MoveDirection direction, MoveDirection enemyDirection) { PlayerWin = false; GameOver = false; _tank = tank; _enemyTank = enemyTank; _bullet = bullet; _controlBase = controlBase; _map = map; _lastDirection = direction; _direction = direction; _lastEnemyDirection = enemyDirection; _enemyDirection = enemyDirection; _bulletsTimer = new Timer(10000); _bulletsTimer.Elapsed += BulletsTimerOnElapsed; _bulletsTimer.Interval = _bullesSpeed; _tanksTimer = new Timer(10000); _tanksTimer.Elapsed += TanksTimerOnElapsed; _tanksTimer.Interval = _tanksSpeed; //тут двічі, і ще в методі Control класу EnemyTankEngine, де ми отримуємо ControlAction є код, який повторюється // public static ControlAction GetControlAction(MoveDirection direction) // switch (direction) // { // case MoveDirection.Up: // return ControlActions.MoveUp; // break; // case MoveDirection.Down: // return = ControlActions.MoveDown; // break; // case MoveDirection.Right: // return = ControlActions.MoveRight; // break; // case MoveDirection.Left: // return = ControlActions.MoveLeft; // break; // } // return ControlActions.MoveUp; //_action = GetControlAction(direction) //_enemyAction = GetControlAction(enemyDirection) switch (direction) { case MoveDirection.Up: _action = ControlActions.MoveUp; break; case MoveDirection.Down: _action = ControlActions.MoveDown; break; case MoveDirection.Right: _action = ControlActions.MoveRight; break; case MoveDirection.Left: _action = ControlActions.MoveLeft; break; } switch (enemyDirection) { case MoveDirection.Up: _enemyAction = ControlActions.MoveUp; break; case MoveDirection.Down: _enemyAction = ControlActions.MoveDown; break; case MoveDirection.Right: _enemyAction = ControlActions.MoveRight; break; case MoveDirection.Left: _enemyAction = ControlActions.MoveLeft; break; } }
/// <summary> /// Выход из меню /// </summary> /// <param name="sender">Объект, вызвавший событие</param> /// <param name="e">Параметры события</param> private void Exit(object sender, EventArgs e) { Choise = ControlActions.None; ReturnControl(); }
public static Keys KeyFromControl(ControlActions controlActions) { return(KeyToControl.ContainsValue(controlActions) ? KeyToControl.First(kv => kv.Value == controlActions).Key : Keys.None); }
private void OnControlTrigger(ControlActions action) { switch (action) { case ControlActions.Right: { Player.RunRight(); break; } case ControlActions.Left: { Player.RunLeft(); break; } case ControlActions.Jump: { Player.Jump(); break; } case ControlActions.Stop: { Player.TryToStop(); break; } case ControlActions.StopTime: { Stop(); //window.Pause(); break; } case ControlActions.RunTime: { Start(); break; } case ControlActions.Debug: { Player.MoveTo(new Vector { x = 0, y = 0 }); break; } case ControlActions.Fly: { Stop(); //window.GameOver(); //Player.Flight = !Player.Flight; break; } case ControlActions.ScaleMinus: { //window.ChangeScale(0.9); break; } case ControlActions.ScalePlus: { //window.ChangeScale(10 / 9.0); break; } } }
public PlayerActions(ControlActions wrapper) { m_Wrapper = wrapper; }
//private public void EnemyTankChoseActions(out ControlActions enemyTankNextAction, List <TankFragment> enemyTank, List <TankFragment> tank, ControlActions enemyTankAction) { enemyTankNextAction = 0; if (enemyTank[4].X > tank[4].X && enemyTank[4].Y > tank[4].Y) { switch (enemyTankAction) { case ControlActions.MoveRight: enemyTankNextAction = ControlActions.MoveUp; break; case ControlActions.MoveLeft: enemyTankNextAction = ControlActions.MoveUp; break; case ControlActions.MoveUp: enemyTankNextAction = ControlActions.MoveLeft; break; case ControlActions.MoveDown: enemyTankNextAction = ControlActions.MoveLeft; break; } } else if (enemyTank[4].X > tank[4].X && enemyTank[4].Y < tank[4].Y) { switch (enemyTankAction) { case ControlActions.MoveRight: enemyTankNextAction = ControlActions.MoveDown; break; case ControlActions.MoveLeft: enemyTankNextAction = ControlActions.MoveDown; break; case ControlActions.MoveUp: enemyTankNextAction = ControlActions.MoveLeft; break; case ControlActions.MoveDown: enemyTankNextAction = ControlActions.MoveLeft; break; } } else if (enemyTank[4].X <tank[4].X && enemyTank[4].Y> tank[4].Y) { switch (enemyTankAction) { case ControlActions.MoveRight: enemyTankNextAction = ControlActions.MoveUp; break; case ControlActions.MoveLeft: enemyTankNextAction = ControlActions.MoveUp; break; case ControlActions.MoveUp: enemyTankNextAction = ControlActions.MoveRight; break; case ControlActions.MoveDown: enemyTankNextAction = ControlActions.MoveRight; break; } } else if (enemyTank[4].X < tank[4].X && enemyTank[4].Y < tank[4].Y) { switch (enemyTankAction) { case ControlActions.MoveRight: enemyTankNextAction = ControlActions.MoveDown; break; case ControlActions.MoveLeft: enemyTankNextAction = ControlActions.MoveDown; break; case ControlActions.MoveUp: enemyTankNextAction = ControlActions.MoveRight; break; case ControlActions.MoveDown: enemyTankNextAction = ControlActions.MoveRight; break; } } else if (enemyTank[4].X == tank[4].X && enemyTank[4].Y > tank[4].Y) { switch (enemyTankAction) { case ControlActions.MoveRight: enemyTankNextAction = ControlActions.MoveUp; break; case ControlActions.MoveLeft: enemyTankNextAction = ControlActions.MoveUp; break; case ControlActions.MoveUp: enemyTankNextAction = ControlActions.Shoot; break; case ControlActions.MoveDown: enemyTankNextAction = ControlActions.MoveLeft; break; } } else if (enemyTank[4].X > tank[4].X && enemyTank[4].Y == tank[4].Y) { switch (enemyTankAction) { case ControlActions.MoveRight: enemyTankNextAction = ControlActions.MoveUp; break; case ControlActions.MoveLeft: enemyTankNextAction = ControlActions.Shoot; break; case ControlActions.MoveUp: enemyTankNextAction = ControlActions.MoveLeft; break; case ControlActions.MoveDown: enemyTankNextAction = ControlActions.MoveLeft; break; } } else if (enemyTank[4].X == tank[4].X && enemyTank[4].Y < tank[4].Y) { switch (enemyTankAction) { case ControlActions.MoveRight: enemyTankNextAction = ControlActions.MoveDown; break; case ControlActions.MoveLeft: enemyTankNextAction = ControlActions.MoveDown; break; case ControlActions.MoveUp: enemyTankNextAction = ControlActions.MoveLeft; break; case ControlActions.MoveDown: enemyTankNextAction = ControlActions.Shoot; break; } } else if (enemyTank[4].X < tank[4].X && enemyTank[4].Y == tank[4].Y) { switch (enemyTankAction) { case ControlActions.MoveRight: enemyTankNextAction = ControlActions.Shoot; break; case ControlActions.MoveLeft: enemyTankNextAction = ControlActions.MoveUp; break; case ControlActions.MoveUp: enemyTankNextAction = ControlActions.MoveRight; break; case ControlActions.MoveDown: enemyTankNextAction = ControlActions.MoveRight; break; } } }