public void setRoom(GameObject p)

    {

        player = p.GetComponent<PlayerManager>();

        movePlayer(player);

        foreach (Transform t in enemySpawnPosition)

        {

            spawnEnemy(t);

        }

    }


using UnityEngine;


public class EnemyMovement : MonoBehaviour

{

    GameObject player;


    bool found = false;





                                                                                        

    private void Update()

    {

        if(player == null)

        {

            var o = Physics2D.OverlapCircle(transform.position, 999f, LayerMask.GetMask("Player"));

            if (o != null)

            {

                player = o.gameObject;

            }

        }

        else

        {

            if (found == false)

            {

                var o = Physics2D.Linecast(transform.position, player.transform.position, LayerMask.GetMask("Wall"));

                if (o.collider == null)

                {

                    found = true;

                }

            }

        }

    }


    private void OnDrawGizmos()

    {

        if (found)

        {

            Gizmos.color = Color.green;

        }

        else

        {

            Gizmos.color = Color.red;

        }

        if (player != null)

        { 

            Gizmos.DrawLine(transform.position, player.transform.position);

        }

    }

}


벽은 이미 프리팹에 정의되어 있고, Room 프리팹 생성 -> 플레이어 스폰위치로 rb.position 이용해서 움직임 -> 적군생성 하는 방식인데

왜 found가 true로 시작할까? 텔레포트 시간이 늦어서 그런거같긴 한데