private void Update() { if (DeactiveBuff) { invulnerable = false; if (Hide == true) { //LM.RestartDefaultColors(); Hide = false; } InShield.SetActive(false); DeactiveBuff = false; } if (DeactiveDeBuff) { blinded = false; DeactiveDeBuff = false; Destroy(deBuffToDestroy); } if (bleed) { healthSystem.Damage(2); bleedcounter--; if (bleedcounter <= 0) { bleed = false; } } if (toDestroy != null) { Destroy(toDestroy, 2.0f); } if (state == State.Dead) { animator.SetBool("DieBack", true); BH.PopCharacterFromList(this, 0.9f); return; } switch (state) { case State.Idle: break; case State.Busy: break; case State.Waiting: if (timeToAttack) { animator.SetTrigger("Slash"); // Play animation randomly timeToAttack = false; } counter++; if (counter >= 40) { onWaitComplete(); } break; case State.Sliding: float slideSpeed = 10f; transform.position += (slideTargetPosition - GetPosition()) * slideSpeed * Time.deltaTime; float reachedDistance = 1f; if (Vector3.Distance(GetPosition(), slideTargetPosition) < reachedDistance) { onSlideComplete(); } break; } }