IEnumerator ImmuneTimer(EnemyDebuffCase Case, float duration) { debuffState[(int)Case] = DebuffState.Immune; yield return(new WaitForSeconds(duration)); debuffState[(int)Case] = DebuffState.Off; }
protected void OffDebuff(EnemyDebuffCase Case) { StartCoroutine(ImmuneTimer(Case, immunity_time[(int)Case])); switch (Case) { case EnemyDebuffCase.Ice: GetComponent <SpriteRenderer>().color = Color.white; StopCoroutine("OnIce"); movementLock = EnemyMovementLock.Free; animator.speed = 1.0f; animator.SetTrigger("DisableStunTrigger"); break; case EnemyDebuffCase.Stun: StopCoroutine("OnStun"); movementLock = EnemyMovementLock.Free; animator.speed = 1.0f; animator.SetTrigger("DisableStunTrigger"); break; default: break; } }