private IEnumerator KnockbackRoutine()
    {
        this.isKnockBack = true;
        //Physics2D.IgnoreLayerCollision(7, 7, true);
        this.stun = 0;
        if (!this.noKnockbackAnim)
        {
            this.anim.SetInteger("State", -1);
            this.anim.Play("Hit", -1, 0);
        }
        yield return new WaitForSeconds(0.15f);
        if (!this.noKnockbackAnim) this.anim.SetInteger("State", 0);
        this.isKnockBack = false;
        //Physics2D.IgnoreLayerCollision(7, 7, false);
        this.rBody2D.velocity = Vector2.zero;
        this.stun = 1;
    }

    public void StopKnockback()
    {
        if(this.knockBackRoutine != null) StopCoroutine(this.knockBackRoutine);
    }

 몬스터가 죽을 때 오브젝트 풀러의 큐 배열로 들어가면서 StopKncoback 메서드가 호출되고 해당 코루틴이 중간에 멈추는 것 떄문에 발생한 문제로 해당 메서드를 호출하지 않도록하여 문제를 해결하였습니다.

 

 - 오브젝트 풀러에서 Dequeue된 몬스터들이 길찾기를 정상적으로 수행하지 못함

 

 - 모든 몬스터의 길찾기가 정상적으로 실행되는 모습

+ Recent posts