ProjectDDD/Assets/_DDD/_Scripts/RestaurantController/Conrtollers/Tasks/CreateRestaurantPlayer.cs
NTG 8031f5cfa0 플레이어 생성 위치 초기화 오류 수정
Instantiate(prefab)만 사용하면 추후에 position을 바꿔도 다시 프리팹의 포지션으로 돌아오는 현상이 내부적으로 존재함.
Instantiate 동시에 매개변수로 position, rotation, parent를 모두 초기화 하는걸 권장함
2025-08-17 15:02:04 +09:00

36 lines
1.0 KiB
C#

using System.Threading.Tasks;
using UnityEngine;
namespace DDD
{
public class CreateRestaurantPlayer : RestaurantFlowTask
{
[SerializeField] private Vector3 _spawnPosition = new(0, 0, 15f);
[SerializeField] private Transform _spawnParent;
public override Task ReadyFlowTask()
{
return Task.CompletedTask;
}
public override Task RunFlowTask()
{
if (PlayerManager.Instance.GetPlayer() != null)
{
return Task.CompletedTask;
}
var playerPrefab = RestaurantDataSo.instance.PlayerData.PlayerPrefab;
if (playerPrefab == null)
{
Debug.LogError("PlayerPrefab이 설정되지 않았습니다!");
return Task.CompletedTask;
}
GameObject player = Instantiate(playerPrefab, _spawnPosition, playerPrefab.transform.rotation, _spawnParent);
player.name = playerPrefab.name;
return Task.CompletedTask;
}
}
}