현재 만들고있는 게임구조가 타일위에서 이동을 하거나 공격을 하는 게임입니다.
게임매니져가 플레이어 캐릭터 프리팹을 생성할때 위치를
밑에 있는 코드와 같이 작성하는게 맞을까요?
저 밑의 코드로 실행하면은 생성이 되기는 하는데
가끔가다가 스크립트 하나가 꺼진다던지, 캐릭터 선택창에서 넘어가는게 엄청 오래 걸립니다;
public class GameManager : MonoBehaviour
{
[SerializeField] UserInfo userInfo;
[SerializeField] Player[] playerPrefabs;
[SerializeField] Tile playerStartTile;
void Start()
{
// 메인 씬에서 선택한 캐릭터 index를 이용해 생성 및 적용.
int index = userInfo.charactorIndex;
Player player = Instantiate(playerPrefabs[index]);
player.onTile = playerStartTile;
player.transform.position = player.onTile.GetPosition(player.isLeft);
player.GetComponent<Player>().enabled = true;
player.Setup((PLAYER)index);
// 플레이 상태.
gameState = GAME_STATE.Playing;
}
}
코드 자체는 무난해 보이는데 문제가 뭔지 모르겠네
null 검사하고, index 범위 체크