예제 #1
0
    IEnumerator ImmuneTimer(EnemyDebuffCase Case, float duration)
    {
        debuffState[(int)Case] = DebuffState.Immune;
        yield return(new WaitForSeconds(duration));

        debuffState[(int)Case] = DebuffState.Off;
    }
예제 #2
0
    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;
        }
    }