Beispiel #1
0
    private void StartStandingUp()
    {
        //Start Sitting to Standing Animation
        _anim.SetTrigger("IsStandingUp");
        _anim.ResetTrigger("IsSitting");

        _player.GetComponent <PlayerBehaviour>().FreezePlayer();

        if (_anim.GetCurrentAnimatorStateInfo(0).IsName("ForwardLocomotion"))
        {
            _currSitState = SittingStates.Standing;
            _player.GetComponent <PlayerBehaviour>().State = PlayerBehaviour.States.Walking;
            _allowInteraction = false;
        }
    }
Beispiel #2
0
    private void StartSit()
    {
        //Start Standing to Sitting Animation
        _anim.SetTrigger("IsSitting");
        _anim.ResetTrigger("IsStandingUp");

        _player.transform.forward = Vector3.Lerp(_player.transform.forward, this.gameObject.transform.forward, Time.deltaTime * 2);
        _player.GetComponent <PlayerBehaviour>().FreezePlayer();
        //Check if Animation is done playing
        if (_anim.GetCurrentAnimatorStateInfo(0).IsName("Sitting"))
        {
            _currSitState = SittingStates.Sitting;
            _player.GetComponent <PlayerBehaviour>().State = PlayerBehaviour.States.Sitting;
        }
    }
Beispiel #3
0
 private void OnTriggerStay(Collider other)
 {
     if (other.tag == "Player")
     {
         if (Input.GetButtonDown(_input.A))
         {
             if (_allowInteraction && _currSitState == SittingStates.Sitting)
             {
                 _currSitState = SittingStates.SitToStand;
             }
             if (other.gameObject.GetComponent <PlayerBehaviour>().State == PlayerBehaviour.States.Walking)
             {
                 _player           = other.gameObject;
                 _allowInteraction = true;
             }
         }
     }
 }
Beispiel #4
0
    private void SwitchCaseStates()
    {
        switch (_currSitState)
        {
        case SittingStates.Standing:
            _currSitState = SittingStates.StandToSit;
            break;

        case SittingStates.StandToSit:
            StartSit();
            break;

        case SittingStates.Sitting:
            _player.GetComponent <RotateWithMouse>().AllowRotation = true;
            break;

        case SittingStates.SitToStand:
            StartStandingUp();
            break;
        }
    }