public void sendPunch(Vector2 destination, PunchDirection pd) { init(); curPos = new Vector2(transform.position.x, transform.position.y); startTime = Time.time; newPos = new Vector2(curPos.x, curPos.y); destPos = new Vector2(destination.x, destination.y); GetComponent <Collider> ().enabled = true; sending = true; punchDirection = pd; }
public void RunAnimation() { if (_isPunchAnimationPlaying) { return; } _animator = GetComponent <Animator>(); if (lookVector != Vector2.zero) { _lookAngle = Mathf.Acos(Vector2.Dot(Vector2.right, _inputVector) / _inputVector.magnitude); if (lookVector.y < 0) { _lookAngle = 2 * Mathf.PI - _lookAngle; } _lookDirection = (LookDirection)(Mathf.RoundToInt(_lookAngle * Mathf.Rad2Deg / _angleDivider) % 8); } else { _lookDirection = LookDirection.None; } // Debug.Log(_lookDirection); // Debug.Log("is freeze frame active " + _isPunchFreezeFrameActive); switch (_lookDirection) { case LookDirection.Left: ResetAnimatorTriggers(); _animator.SetTrigger("RunLeft"); punchDirection = PunchDirection.Left; break; case LookDirection.Right: ResetAnimatorTriggers(); _animator.SetTrigger("RunRight"); punchDirection = PunchDirection.Right; break; case LookDirection.Top: ResetAnimatorTriggers(); _animator.SetTrigger("RunTop"); punchDirection = PunchDirection.Top; break; case LookDirection.Bottom: ResetAnimatorTriggers(); _animator.SetTrigger("RunBottom"); punchDirection = PunchDirection.Bottom; break; case LookDirection.None: ResetAnimatorTriggers(); _animator.SetTrigger("Idle"); break; default: { switch (punchDirection) { case PunchDirection.Left: ResetAnimatorTriggers(); _animator.SetTrigger("RunLeft"); punchDirection = PunchDirection.Left; break; case PunchDirection.Right: ResetAnimatorTriggers(); _animator.SetTrigger("RunRight"); punchDirection = PunchDirection.Right; break; case PunchDirection.Top: ResetAnimatorTriggers(); _animator.SetTrigger("RunTop"); punchDirection = PunchDirection.Top; break; case PunchDirection.Bottom: ResetAnimatorTriggers(); _animator.SetTrigger("RunBottom"); punchDirection = PunchDirection.Bottom; break; } break; } } if (_inputVector.magnitude == 0.0f) { ResetAnimatorTriggers(); _animator.SetTrigger("Idle"); } }