using System.Threading.Tasks; using UnityEditor; using UnityEngine; namespace DDD { public class CreateRestaurantPlayer : RestaurantFlowTask { [SerializeField] private Vector3 _spawnPosition; private GameObject playerPrefab; public override async Task ReadyFlowTask() { playerPrefab = await AssetManager.LoadAsset(CommonConstants.RestaurantPlayer); } public override Task RunFlowTask() { // TODO : Player exist check var player = PrefabUtility.InstantiatePrefab(playerPrefab) as GameObject; player.transform.position = _spawnPosition; player.transform.rotation = playerPrefab.transform.rotation; player.name = CommonConstants.RestaurantPlayer; CameraManager.Instance.GetCameraGameObject(CameraType.RestaurantBaseCamera) .SetFollowAndLookAtTarget(player.transform); return Task.CompletedTask; } } }