Beispiel #1
0
 public void SetState(EnumPTrapezeState s)
 {
     state = s;
     foreach (IPTrapezeStateListener listener in listeners)
     {
         listener.OnPlayerStateChange(state);
     }
 }
 public void OnPlayerStateChange(EnumPTrapezeState pState)
 {
     if (pState == EnumPTrapezeState.InAir)
     {
         numTricksToDo = 0;
     }
     if (state == EnumPTrapezeState.InAir)
     {
         ChooseTarget();
     }
 }
Beispiel #3
0
 public void DoAnimation(string animName)
 {
     if (gm.IsSloMoAllowed() && gm.InSloMo() && animator.speed == 1)
     {
         //gm.ToggleSloMo();
         animator.speed = 2;
     }
     transform.position = head.transform.position + offset;
     state = EnumPTrapezeState.Trick;
     //ResetRotation();
     SetKinematic(true);
     animator.enabled = true;
     animator.SetTrigger(GetAnimName(animName));
     lastTrick = animName;
 }
Beispiel #4
0
 public void AnimationEnded()
 {
     if (animator.speed != 1)
     {
         //gm.ToggleSloMo();
         animator.speed = 1;
     }
     animator.enabled = false;
     //ResumeRotation();
     //KillClones();
     SetKinematic(false);
     this.gameObject.transform.position      = position;
     this.gameObject.transform.localPosition = position;
     state = EnumPTrapezeState.InAir;
     OnTrick();
 }
    private void ChooseTarget()
    {
        EnumPTrapezeState pState = gm.GetPlayerManager().state;

        if (pState == EnumPTrapezeState.OnTrapeze && gm.GetPlayerManager().facingRight != facingRight)
        {
            Target(playerGrabTarget);
            Debug.Log("Donna is targeting the player");
        }
        else
        {
            if (facingRight)
            {
                Target(trapezeRightGrabTarget);
            }
            else
            {
                Target(trapezeLeftGrabTarget);
            }
            Debug.Log("Donna is targeting the trapeze");
        }
    }