/// <summary> /// Moves the ranger every tick. /// </summary> private new void Update() { base.Update(); if (GameManager.instance.IsPaused) { return; } if (life.Health <= 0 || GameManager.instance.GameFinished) { aiming = false; return; } else { policy.ChooseAction(this); } if (jump) { parkour.Jump(); } if (slide) { parkour.SlideOn(); } else { parkour.SlideOff(); } if (grabToken) { GrabToken(); } if (aiming) { archery.UpdateFirePoint(Vector3.Normalize(aim)); if (!wasAiming) { SFXManager.instance.PlayArrowPull(); } wasAiming = true; } else if (wasAiming) { wasAiming = false; archery.Fire(); } else { archery.AimUpperBodyWithLegs(); } }
/// <summary> /// Moves the ranger every tick. /// </summary> private void Update() { if (opponent == null || life.Health <= 0) { aiming = false; return; } else { policy.ChooseAction(this); } if (jump) { parkour.Jump(); } if (slide) { parkour.SlideOn(); } else { parkour.SlideOff(); } if (aiming) { archery.UpdateFirePoint(Vector3.Normalize(aim)); wasAiming = true; } else if (wasAiming) { wasAiming = false; archery.Fire(); } else { archery.AimUpperBodyWithLegs(); } }