コード例 #1
0
ファイル: InputManager.cs プロジェクト: SAlexeyG/Job
    public void Tick()
    {
        if (IsEnabled)
        {
            if (Input.GetKeyDown(KeyCode.LeftArrow))
            {
                OnLeft?.Invoke();
            }
            if (Input.GetKeyDown(KeyCode.RightArrow))
            {
                OnRight?.Invoke();
            }
            if (Input.GetKeyDown(KeyCode.UpArrow))
            {
                OnUp?.Invoke();
            }

            if (Time.time - previousTime >
                (Input.GetKey(KeyCode.DownArrow) ? fallTime / 10 : fallTime))
            {
                OnDown?.Invoke();
                previousTime = Time.time;
            }
        }
    }
コード例 #2
0
        /// <summary>
        /// Checks Collision between ball and player slider
        /// </summary>
        /// <param name="ball">Ball ball</param>
        public void Collision(Ball ball)
        {
            if (ball.CollisionBox.Intersects(slider.CollisionBox))
            {
                float width = ball.MoveVector.X > 0 ? -ball.CollisionBox.Width : ball.CollisionBox.Width; //prevents the ball from stucking in a slider

                ball.Position = new Vector2(slider.CollisionBox.X + width, ball.Position.Y);
                Vector2 sideVec = slider.GetSideVector(ball.CollisionBox);
                ball.ChangeMoveVector((ball.MoveVector * -1) + (slider.MoveVector / 2) + sideVec);
            }

            if (ball.CollisionBox.Intersects(endZone)) //ball out of field
            {
                OnLeft?.Invoke(this, EventArgs.Empty);
            }
        }
コード例 #3
0
ファイル: InputManager.cs プロジェクト: SAlexeyG/Tetris
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            OnLeft?.Invoke();
        }
        if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            OnRight?.Invoke();
        }
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            OnUp?.Invoke();
        }

        if (Time.time - previousTime >
            (Input.GetKey(KeyCode.DownArrow) ? fallTime / 10 : fallTime))
        {
            OnDown?.Invoke();
            previousTime = Time.time;
        }
    }
コード例 #4
0
    private void Update()
    {
        if (Input.GetButtonDown("Vertical"))
        {
            float axisVertical = Input.GetAxisRaw("Vertical");

            if (axisVertical == 1)
            {
                OnUp?.Invoke();
                return;
            }

            if (axisVertical == -1)
            {
                OnDown?.Invoke();
                return;
            }
        }

        if (Input.GetButtonDown("Horizontal"))
        {
            float axisHorizontal = Input.GetAxisRaw("Horizontal");

            if (axisHorizontal == -1)
            {
                OnLeft?.Invoke();
                return;
            }

            if (axisHorizontal == 1)
            {
                OnRight?.Invoke();
                return;
            }
        }
    }
コード例 #5
0
ファイル: Controller.cs プロジェクト: SeanI115/BulletHellGame
 private void _OnLeft()
 {
     OnLeft?.Invoke(this, EventArgs.Empty);
 }
コード例 #6
0
 protected void Left()
 {
     OnLeft?.Invoke(this);
 }
コード例 #7
0
 public void LeftAction()
 {
     OnLeft?.Invoke();
 }
コード例 #8
0
    public void InputPass()
    {
        // Get Input
        float y = 0;
        float x = 0;

        if (_useAxis)
        {
            y = Input.GetAxisRaw("Horizontal");
            x = Input.GetAxisRaw("Vertical");
        }
        else
        {
            if (Input.GetButtonDown("Fire_A"))
            {
                x--;
            }
            if (Input.GetButtonDown("Fire_B"))
            {
                y++;
            }
            if (Input.GetButtonDown("Fire_X"))
            {
                y--;
            }
            if (Input.GetButtonDown("Fire_Y"))
            {
                x++;
            }
        }

        if (_lastX != x || _lastY != y)
        {
            // Debug.Log($"x : {x} - y : {y}");
            _lastY = y;
            _lastX = x;
        }

        // Check Up
        if (!_validated[(int)VirtualNote.Up] && x > _validationThreshold)
        {
            _validated[(int)VirtualNote.Up] = true;
            OnUp?.Invoke();
            OnHammerHit?.Invoke();
            OnUpUnity?.Invoke();
            // Debug.Log("Up");
        }
        if (!_validated[(int)VirtualNote.Right] && y > _validationThreshold)
        {
            _validated[(int)VirtualNote.Right] = true;
            OnRight?.Invoke();
            OnHammerHit?.Invoke();
            OnRightUnity?.Invoke();
            // Debug.Log("Right");
        }
        if (!_validated[(int)VirtualNote.Down] && x < _validationThreshold * -1)
        {
            _validated[(int)VirtualNote.Down] = true;
            OnDown?.Invoke();
            OnHammerHit?.Invoke();
            OnDownUnity?.Invoke();
            // Debug.Log("Down");
        }
        if (!_validated[(int)VirtualNote.Left] && y < _validationThreshold * -1)
        {
            _validated[(int)VirtualNote.Left] = true;
            OnLeft?.Invoke();
            OnHammerHit?.Invoke();
            OnLeftUnity?.Invoke();
            // Debug.Log("Left");
        }

        // Check disabled
        if ((_validated[(int)VirtualNote.Up] || _validated[(int)VirtualNote.Down]) && Mathf.Abs(x) <= _disableThreshold)
        {
            _validated[(int)VirtualNote.Up]   = false;
            _validated[(int)VirtualNote.Down] = false;
        }
        if ((_validated[(int)VirtualNote.Right] || _validated[(int)VirtualNote.Left]) && Mathf.Abs(y) <= _disableThreshold)
        {
            _validated[(int)VirtualNote.Right] = false;
            _validated[(int)VirtualNote.Left]  = false;
        }
    }
コード例 #9
0
ファイル: MainPage.xaml.cs プロジェクト: OttyLab/BTBulldozer
 private async void OnLeftClicked(object sender, EventArgs e)
 {
     await OnLeft?.Invoke(sender, e);
 }
コード例 #10
0
 public void Left(float proc)
 {
     isLeft = true;
     physical?.AddForward(proc);
     OnLeft?.Invoke(proc);
 }