초기화 순서 문제 수정, 데이터 세팅, 경고 제거

This commit is contained in:
Jeonghyeon Ha 2025-08-14 20:59:40 +09:00
parent c704259e47
commit 7f10b9695c
14 changed files with 59 additions and 36 deletions

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 8c4fcb278b09f944cbfa342ace27fcd4 guid: d4af913216da4468ea23c8f910d86644
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 11400000 mainObjectFileID: 11400000

Binary file not shown.

View File

@ -7,7 +7,7 @@ public class RestaurantPlayerInput : MonoBehaviour
{ {
private RestaurantPlayerDataSo _playerDataSo; private RestaurantPlayerDataSo _playerDataSo;
private async void Start() private void Start()
{ {
_playerDataSo = RestaurantDataSo.instance.PlayerData; _playerDataSo = RestaurantDataSo.instance.PlayerData;
_playerDataSo.OpenManagementUiAction = InputManager.Instance.GetAction(InputActionMaps.Restaurant, nameof(RestaurantActions.OpenManagementUi)); _playerDataSo.OpenManagementUiAction = InputManager.Instance.GetAction(InputActionMaps.Restaurant, nameof(RestaurantActions.OpenManagementUi));

View File

@ -15,7 +15,7 @@ protected override void Start()
_ = Initialize(); _ = Initialize();
} }
private async Task Initialize() private Task Initialize()
{ {
_restaurantPlayerDataSo = RestaurantDataSo.instance.PlayerData; _restaurantPlayerDataSo = RestaurantDataSo.instance.PlayerData;
Debug.Assert(_restaurantPlayerDataSo != null, "_restaurantPlayerDataSo is null"); Debug.Assert(_restaurantPlayerDataSo != null, "_restaurantPlayerDataSo is null");
@ -28,6 +28,8 @@ private async Task Initialize()
_interactionLayerMask = _restaurantPlayerDataSo.InteractionLayerMask; _interactionLayerMask = _restaurantPlayerDataSo.InteractionLayerMask;
EventBus.Register<RestaurantInteractionEvent>(this); EventBus.Register<RestaurantInteractionEvent>(this);
return Task.CompletedTask;
} }
protected override void OnDestroy() protected override void OnDestroy()

View File

@ -77,7 +77,7 @@ private void InitializeComponents()
#endif #endif
} }
private async System.Threading.Tasks.Task InitializePlayerData() private System.Threading.Tasks.Task InitializePlayerData()
{ {
try try
{ {
@ -89,6 +89,8 @@ private async System.Threading.Tasks.Task InitializePlayerData()
{ {
Debug.LogError($"Player data load failed\n{e}"); Debug.LogError($"Player data load failed\n{e}");
} }
return System.Threading.Tasks.Task.CompletedTask;
} }
private void SubscribeToInputEvents() private void SubscribeToInputEvents()

View File

@ -6,23 +6,26 @@ namespace DDD
public class RestaurantEnvironmentController : RestaurantFlowController public class RestaurantEnvironmentController : RestaurantFlowController
{ {
private RestaurantEnvironmentStateSo _environmentState; private RestaurantEnvironmentStateSo _environmentState;
public override async Task InitializeController() public override Task InitializeController()
{ {
return Task.CompletedTask;
} }
public override async Task InitializeState() public override Task InitializeState()
{ {
_environmentState = RestaurantState.instance.EnvironmentState; _environmentState = RestaurantState.instance.EnvironmentState;
return Task.CompletedTask;
} }
public override async Task OnReadyNewFlow(GameFlowState newFlowState) public override Task OnReadyNewFlow(GameFlowState newFlowState)
{ {
// if(newFlowState == GameFlowState.ReadyForRestaurant) GenerateDummyEnvironmentProps(); // XXX : DUMMY! REMOVE THIS // if(newFlowState == GameFlowState.ReadyForRestaurant) GenerateDummyEnvironmentProps(); // XXX : DUMMY! REMOVE THIS
return Task.CompletedTask;
} }
public override async Task OnExitCurrentFlow(GameFlowState exitingFlowState) public override Task OnExitCurrentFlow(GameFlowState exitingFlowState)
{ {
return Task.CompletedTask;
} }
private void GenerateDummyEnvironmentProps() private void GenerateDummyEnvironmentProps()

View File

@ -5,22 +5,26 @@ namespace DDD
{ {
public class RestaurantManagementController : RestaurantFlowController public class RestaurantManagementController : RestaurantFlowController
{ {
public override async Task InitializeController() public override Task InitializeController()
{ {
return Task.CompletedTask;
} }
public override async Task InitializeState() public override Task InitializeState()
{ {
// Load default asset // Load default asset
RestaurantState.instance.ManagementState.InitializeReadyForRestaurant(); RestaurantState.instance.ManagementState.InitializeReadyForRestaurant();
return Task.CompletedTask;
} }
public override async Task OnReadyNewFlow(GameFlowState newFlowState) public override Task OnReadyNewFlow(GameFlowState newFlowState)
{ {
return Task.CompletedTask;
} }
public override async Task OnExitCurrentFlow(GameFlowState exitingFlowState) public override Task OnExitCurrentFlow(GameFlowState exitingFlowState)
{ {
return Task.CompletedTask;
} }
} }
} }

View File

@ -6,12 +6,14 @@ namespace DDD
{ {
public class RestaurantPlayerController : RestaurantFlowController public class RestaurantPlayerController : RestaurantFlowController
{ {
public override async Task InitializeController() public override Task InitializeController()
{ {
return Task.CompletedTask;
} }
public override async Task InitializeState() public override Task InitializeState()
{ {
return Task.CompletedTask;
} }
public override async Task OnReadyNewFlow(GameFlowState newFlowState) public override async Task OnReadyNewFlow(GameFlowState newFlowState)
@ -20,23 +22,20 @@ public override async Task OnReadyNewFlow(GameFlowState newFlowState)
{ {
List<Task> tasks = new List<Task>(); List<Task> tasks = new List<Task>();
// Spawn player job // Spawn player job
CreateRestaurantPlayer createRestaurantPlayerJob = new CreateRestaurantPlayer(); CreateRestaurantPlayer createRestaurantPlayerJob = CreateInstance<CreateRestaurantPlayer>();
var createPlayerReadyHandle = createRestaurantPlayerJob.ReadyFlowTask(); await createRestaurantPlayerJob.ReadyFlowTask();
var createPlayerHandle = createRestaurantPlayerJob.RunFlowTask(); await createRestaurantPlayerJob.RunFlowTask();
tasks.Add(createPlayerReadyHandle);
tasks.Add(createPlayerHandle);
Task.WhenAll(tasks);
} }
} }
public override async Task OnExitCurrentFlow(GameFlowState exitingFlowState) public override Task OnExitCurrentFlow(GameFlowState exitingFlowState)
{ {
if (exitingFlowState == GameFlowState.SettlementRestaurant) if (exitingFlowState == GameFlowState.SettlementRestaurant)
{ {
// TODO : Remove player character // TODO : Remove player character
} }
return Task.CompletedTask;
} }
} }
} }

View File

@ -6,17 +6,22 @@ namespace DDD
public class RestaurantRunController : RestaurantFlowController public class RestaurantRunController : RestaurantFlowController
{ {
RestaurantCustomerStateSo _restaurantCustomerStateSo; RestaurantCustomerStateSo _restaurantCustomerStateSo;
public override async Task InitializeController() public override Task InitializeController()
{ {
return Task.CompletedTask;
} }
public override async Task InitializeState() public override Task InitializeState()
{ {
return Task.CompletedTask;
} }
public override async Task OnReadyNewFlow(GameFlowState newFlowState) public override async Task OnReadyNewFlow(GameFlowState newFlowState)
{ {
var restaurantCustomerStateHandle = _restaurantCustomerStateSo.OnReadyNewFlow(newFlowState); var restaurantCustomerStateHandle = _restaurantCustomerStateSo.OnReadyNewFlow(newFlowState);
await Task.WhenAll(restaurantCustomerStateHandle);
} }
public override async Task OnExitCurrentFlow(GameFlowState exitingFlowState) public override async Task OnExitCurrentFlow(GameFlowState exitingFlowState)
{ {

View File

@ -5,11 +5,13 @@ namespace DDD
{ {
public class CreateRestaurantEnvironment : RestaurantFlowTask public class CreateRestaurantEnvironment : RestaurantFlowTask
{ {
public override async Task ReadyFlowTask() public override Task ReadyFlowTask()
{ {
return Task.CompletedTask;
} }
public override async Task RunFlowTask() public override Task RunFlowTask()
{ {
// TODO : Base prefab from EnvironmentDataSo // TODO : Base prefab from EnvironmentDataSo
@ -18,6 +20,8 @@ public override async Task RunFlowTask()
{ {
// TODO : Instantiate and Initialize // TODO : Instantiate and Initialize
} }
return Task.CompletedTask;
} }
} }
} }

View File

@ -9,22 +9,25 @@ public class CreateRestaurantPlayer : RestaurantFlowTask
[SerializeField] [SerializeField]
private Vector3 _spawnPosition; private Vector3 _spawnPosition;
private GameObject playerPrefab;
public override async Task ReadyFlowTask() public override async Task ReadyFlowTask()
{ {
playerPrefab = await AssetManager.LoadAsset<GameObject>(CommonConstants.RestaurantPlayer);
} }
public override async Task RunFlowTask() public override Task RunFlowTask()
{ {
// TODO : Player exist check // TODO : Player exist check
var playerPrefab = await AssetManager.LoadAsset<GameObject>(CommonConstants.RestaurantPlayer);
var player = PrefabUtility.InstantiatePrefab(playerPrefab) as GameObject; var player = PrefabUtility.InstantiatePrefab(playerPrefab) as GameObject;
player.transform.position = _spawnPosition; player.transform.position = _spawnPosition;
player.transform.rotation = playerPrefab.transform.rotation; player.transform.rotation = playerPrefab.transform.rotation;
player.name = CommonConstants.RestaurantPlayer; player.name = CommonConstants.RestaurantPlayer;
CameraManager.Instance.GetCameraGameObject(CameraType.RestaurantBaseCamera) CameraManager.Instance.GetCameraGameObject(CameraType.RestaurantBaseCamera)
.SetFollowAndLookAtTarget(player.transform); .SetFollowAndLookAtTarget(player.transform);
return Task.CompletedTask;
} }
} }
} }

View File

@ -30,11 +30,11 @@ public async Task Init()
{ {
await LoadData(); await LoadData();
await RestaurantDataSo.instance.LoadData(); await RestaurantDataSo.instance.LoadData();
InitializeAllFlowControllers();
} }
public void PostInit() public void PostInit()
{ {
InitializeAllFlowControllers();
} }
private void RegisterFlowHandler() private void RegisterFlowHandler()
@ -60,8 +60,9 @@ private void InitializeAllFlowControllers()
} }
} }
private async Task LoadData() private Task LoadData()
{ {
return Task.CompletedTask;
} }
public async Task OnReadyNewFlow(GameFlowState newFlowState) public async Task OnReadyNewFlow(GameFlowState newFlowState)