//Attack animation when attacking public void HandleAttacks() { if (attack) { Anime.SetTrigger("attack"); } }
public override void Enter() { spawnVfx = false; Anime.SetTrigger(AnimationTag); Ai.StartCoroutine(RotateTowardsTarget()); heading = (NexusCrowdManager.Instance.transform.position + new Vector3(0f, 6f, 0f)) - Ai.FirePoint.position; vfx = null; }
public override void Enter() { timer = 0; turnedon = false; shotFired = false; Anime.SetTrigger(animationTag); if (Physics.CheckSphere(Ai.transform.position, radius, mask)) { TransitionTo <AiAttack>(); } }
public override void Enter() { RuntimeManager.PlayOneShot(DeathSFX, Ai.transform.position); Anime.ResetTrigger("Idle"); Anime.ResetTrigger("Attack"); Anime.ResetTrigger("HurtRight"); Anime.SetTrigger(deathAnimationTags[Random.Range(0, deathAnimationTags.Length)]); Ai.OnDeath?.Invoke(); Ai.OnDeath = null; timer = 0; SetColliderRecursive(Ai.gameObject, deathLayer); }
public override void Enter() { resetTimer = 0; waitForBeat = false; BeatManager.OnBeat += StartWalkOnBeat; shouldFreeSlot = true; disableAgent = true; Agent.enabled = true; GetDestination(); Agent.SetDestination(currentTargetPos); Anime.ResetTrigger("HurtRight"); Anime.SetTrigger("Idle"); }
public override IEnumerator TakeDamage() { health -= 10; if (!IsDead) { Anime.SetTrigger("Damage"); } else { Anime.SetTrigger("Death"); yield return(null); } }
private void SetUpAttack() { Agent.velocity = Vector3.zero; Anime.SetFloat("Velocity", 0f); Anime.SetTrigger(currentAttack.AttackTag); playedIdle = false; hitObjects.Clear(); timer = 0; wasInWindow = false; foreach (ParticleSystem x in chargeUpVFXs) { x.Stop(); x.Play(); } }
public override void StateUpdate() { if (!currentAttack.ShouldNotRotateInAttack) { LookAtPlayer(); } if (currentAttack.RootMotion) { Ai.transform.rotation = Anime.transform.rotation; Ai.transform.position = Anime.transform.position; Anime.transform.localPosition = Vector3.zero; } if (waitForBeat) { return; } if (inAttackWindow) { CheckForSwordCollsion(); } if (timer > currentClipLength && (PlayerTransform.position - Ai.transform.position).magnitude > AttackRange) { TransitionTo <AiWalking>(); } else if (timer > currentClipLength && !playedIdle) { playedIdle = true; Anime.SetTrigger("Idle"); foreach (ParticleSystem x in chargeUpVFXs) { x.Stop(); } } else if (timer > (currentClipLength + attackCD)) { SetUpAttack(); } timer += Time.deltaTime; }
public override void Exit() { if (currentAttack.RootMotion) { Ai.transform.rotation = Anime.transform.rotation; Ai.transform.position = Anime.transform.position; Anime.transform.localPosition = Vector3.zero; } Anime.SetTrigger("Idle"); wasInWindow = false; waitForBeat = false; BeatManager.OnBeat -= WaitedForBeat; foreach (ParticleSystem x in chargeUpVFXs) { x.Stop(); } }
public override void Enter() { Anime.SetTrigger("HurtRight"); newKnockbackTime = KnockbackTime; if (Ai.EnemyType != Enemy.shooterAi) { Agent.enabled = true; } ogpos = Ai.transform.position; timer = 0f; RuntimeManager.PlayOneShotAttached(KnockbackSound, Ai.gameObject); //Ai.Anime.SetTrigger(KnockbackAnimationTrigger); if (TriggerHeavyKnockBack) { newKnockbackTime = newKnockbackTime * KnockBackTimeOnBeatMultiplier; TriggerHeavyKnockBack = false; Anime.ResetTrigger("HurtRight"); Anime.SetBool("shock", true); } }
//Taking damage public override IEnumerator TakeDamage() { if (!immortal) { health -= 1; if (!IsDead) { Anime.SetTrigger("Damage"); immortal = true; yield return(new WaitForSeconds(immortalTime)); immortal = false; } else { Anime.SetLayerWeight(1, 0); Anime.SetTrigger("Death"); theGameManager.restartTheGame(); } } }