示例#1
0
    private void FixedUpdate()
    {
        if (m_IsGrounded)
        {
            if (m_MakeCrouched == 0 && !m_Crouch)
            {
                if (!Physics2D.OverlapCircle(m_WallCheck.position, .2f, m_WhatIsGround))
                {
                    m_Animator.PlayerCrouching(true);
                    m_Crouch = true;
                    SetCollidersCrouch();
                }

                m_MakeCrouched = 2;
            }
            else if (m_MakeCrouched == 1 && m_Crouch)
            {
                if (!Physics2D.OverlapCircle(m_CeilingCheck.position, .2f, m_WhatIsGround))
                {
                    m_Animator.PlayerCrouching(false);
                    m_Crouch = false;
                    SetCollidersStand();
                    m_MakeCrouched = 2;
                }
            }
        }

        //Move character
        m_Movement.Move(m_HorizontalMove * Time.fixedDeltaTime, m_Crouch, m_Jump, m_Sprint);
        m_Jump = false;
    }
 private void FixedUpdate()
 {
     _characterMovement.Move(_horizontalDirection * Time.fixedDeltaTime, false, _isJumping);
     _isJumping = false;
 }
    // Update is called once per frame
    void Update()
    {
        //TODO: Maybe add an interface for gameplay systems ("IControllable" or "IGameplaySystem")
        //TODO: Maybe base the logic on events, not if statements
        //DONE: Add default bindings (for each player)

        if (Input.GetKey(moveLeft))
        {
            characterMovement2D.Move(Direction.Left);
        }
        if (Input.GetKeyUp(moveLeft))
        {
            characterMovement2D.DontMove();
        }
        if (Input.GetKey(moveLeft) && Input.GetKey(dodge))
        {
            characterMovement2D.NewDodge(Direction.Left);
        }

        if (Input.GetKey(moveRight))
        {
            characterMovement2D.Move(Direction.Right);
        }
        if (Input.GetKeyUp(moveRight))
        {
            characterMovement2D.DontMove();
        }
        if (Input.GetKey(moveRight) && Input.GetKey(dodge))
        {
            characterMovement2D.NewDodge(Direction.Right);
        }

        if (Input.GetKey(moveLeft) && Input.GetKey(moveRight))
        {
            characterMovement2D.DontMove();
        }

        if (Input.GetKeyDown(attack))
        {
            characterCombat2D.Attack();
        }

        if (Input.GetKeyDown(block))
        {
            characterCombat2D.Block();
        }

        if (Input.GetKeyDown(firstAbility))
        {
            characterAbilities2D.ability1.Use();
        }
        if (Input.GetKeyDown(secondAbility))
        {
            characterAbilities2D.ability2.Use();
        }
        if (Input.GetKeyDown(thirdAbility))
        {
            characterAbilities2D.ability3.Use();
        }

        if (Input.GetKeyDown(rageMode))
        {
            characterAbilities2D.rageMode.Use();
        }
    }
示例#4
0
 void FixedUpdate()
 {
     //Move our Character (movement, counch, jump)
     controller.Move(horizontalMove * Time.fixedDeltaTime, false, isJumping);
     isJumping = false;
 }