예제 #1
0
//    public float Velocity => _velocity * Time.deltaTime;

    #endregion

    #region MonoBehaviour Functions

    void Start()
    {
        I = this;

//        _currentZone.EnterInitZone();
        _aimDirection  = forwardPointer.front;
        _currentState  = PlayerState.Idle;
        _weaponEquiped = weapon.nude;
        _attacking     = false;
        _forceCheck    = false;
        _isDeath       = false;
        CurrentHealth  = _maxHealth;
        StartGame();
    }
예제 #2
0
    private void CheckStates()
    {
        if (_currentState != NewState || _forceCheck)
        {
            Debug.Log(_currentState);
            switch (NewState)
            {
            case PlayerState.Idle:
                _rb.velocity = new Vector2(0, 0);
                switch (_weaponEquiped)
                {
                case weapon.nude:
                    _anim.SetBool("walk", false);
                    _anim.SetBool("withBone", false);
                    break;

                case weapon.bone:
                    _anim.SetBool("walk", false);
                    _anim.SetBool("withPorra", false);
                    _anim.SetBool("withBone", true);
                    break;

                case weapon.porra:
                    _anim.SetBool("withBone", false);
                    _anim.SetBool("walk", false);
                    _anim.SetBool("withPorra", true);
                    break;
                }

                break;

            case PlayerState.Death:
                break;

            case PlayerState.WalkUp:
                _aimDirection = forwardPointer.back;
                switch (_weaponEquiped)
                {
                case weapon.nude:
                    _anim.SetBool("walk", true);
                    _anim.SetBool("withBone", false);
                    break;

                case weapon.bone:
                    _anim.SetBool("walk", true);
                    _anim.SetBool("withPorra", false);
                    _anim.SetBool("withBone", true);
                    break;

                case weapon.porra:
                    _anim.SetBool("withBone", false);
                    _anim.SetBool("walk", true);
                    _anim.SetBool("withPorra", true);
                    break;
                }
                break;

            case PlayerState.WalkDown:
                _aimDirection = forwardPointer.front;
                switch (_weaponEquiped)
                {
                case weapon.nude:
                    _anim.SetBool("walk", true);
                    _anim.SetBool("withBone", false);
                    break;

                case weapon.bone:
                    _anim.SetBool("walk", true);
                    _anim.SetBool("withPorra", false);
                    _anim.SetBool("withBone", true);
                    break;

                case weapon.porra:
                    _anim.SetBool("withBone", true);
                    _anim.SetBool("walk", true);
                    _anim.SetBool("withPorra", true);
                    break;
                }
                break;

            case PlayerState.WalkLeft:
                _aimDirection = forwardPointer.left;
                switch (_weaponEquiped)
                {
                case weapon.nude:
                    _anim.SetBool("walk", true);
                    _anim.SetBool("withBone", false);
                    break;

                case weapon.bone:
                    _anim.SetBool("walk", true);
                    _anim.SetBool("withPorra", false);
                    _anim.SetBool("withBone", true);
                    break;

                case weapon.porra:
                    _anim.SetBool("withBone", false);
                    _anim.SetBool("walk", true);
                    _anim.SetBool("withPorra", true);
                    break;
                }
                break;

            case PlayerState.WalkRight:
                _aimDirection = forwardPointer.right;
                switch (_weaponEquiped)
                {
                case weapon.nude:
                    _anim.SetBool("walk", true);
                    _anim.SetBool("withBone", false);
                    break;

                case weapon.bone:
                    _anim.SetBool("walk", true);
                    _anim.SetBool("withPorra", false);
                    _anim.SetBool("withBone", true);
                    break;

                case weapon.porra:
                    _anim.SetBool("withBone", false);
                    _anim.SetBool("walk", true);
                    _anim.SetBool("withPorra", true);
                    break;
                }
                break;

            case PlayerState.Attack:
                switch (_weaponEquiped)
                {
                case weapon.nude:
                    _anim.SetBool("withPorra", false);
                    _anim.SetBool("withBone", false);
                    break;

                case weapon.bone:
                    _anim.SetBool("withPorra", false);
                    _anim.SetBool("withBone", true);
                    break;

                case weapon.porra:
                    _anim.SetBool("withPorra", true);
                    _anim.SetBool("withBone", false);
                    break;
                }
                _anim.SetTrigger("attack");
                break;

            case PlayerState.damaged:
                /*                    _gotDamaged = true;
                 *                  StartCoroutine(wait(0.8f));
                 *                  switch (_aimDirection)
                 *                  {
                 *                      case forwardPointer.back:
                 *                          kick = new Vector2(0, 40);
                 *                          break;
                 *                      case forwardPointer.front:
                 *                          kick = new Vector2(0, -40);
                 *                          break;
                 *                      case forwardPointer.right:
                 *                          kick = new Vector2(40, 0);
                 *
                 *                          break;
                 *                      case forwardPointer.left:
                 *                          kick = new Vector2(-40, 0);
                 *                          break;
                 *                  }
                 *                  _rb.AddForce(-kick*500);
                 *                  _DieParticles
                 */
                break;
            }

            switch (_aimDirection)
            {
            case forwardPointer.back:
                _anim.SetFloat("Blend", 0.66f);
                break;

            case forwardPointer.front:
                _anim.SetFloat("Blend", 0f);
                break;

            case forwardPointer.right:
                _anim.SetFloat("Blend", 0.33f);
                break;

            case forwardPointer.left:
                _anim.SetFloat("Blend", 1f);
                break;
            }
            _currentState = NewState;
            _forceCheck   = false;
        }
    }