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(); } }
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; }
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"); } }