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

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
guid: 8c4fcb278b09f944cbfa342ace27fcd4
guid: d4af913216da4468ea23c8f910d86644
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

Binary file not shown.

View File

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

View File

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

View File

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

View File

@ -6,23 +6,26 @@ namespace DDD
public class RestaurantEnvironmentController : RestaurantFlowController
{
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;
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
return Task.CompletedTask;
}
public override async Task OnExitCurrentFlow(GameFlowState exitingFlowState)
public override Task OnExitCurrentFlow(GameFlowState exitingFlowState)
{
return Task.CompletedTask;
}
private void GenerateDummyEnvironmentProps()

View File

@ -5,22 +5,26 @@ namespace DDD
{
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
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 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)
@ -20,23 +22,20 @@ public override async Task OnReadyNewFlow(GameFlowState newFlowState)
{
List<Task> tasks = new List<Task>();
// Spawn player job
CreateRestaurantPlayer createRestaurantPlayerJob = new CreateRestaurantPlayer();
CreateRestaurantPlayer createRestaurantPlayerJob = CreateInstance<CreateRestaurantPlayer>();
var createPlayerReadyHandle = createRestaurantPlayerJob.ReadyFlowTask();
var createPlayerHandle = createRestaurantPlayerJob.RunFlowTask();
tasks.Add(createPlayerReadyHandle);
tasks.Add(createPlayerHandle);
Task.WhenAll(tasks);
await createRestaurantPlayerJob.ReadyFlowTask();
await createRestaurantPlayerJob.RunFlowTask();
}
}
public override async Task OnExitCurrentFlow(GameFlowState exitingFlowState)
public override Task OnExitCurrentFlow(GameFlowState exitingFlowState)
{
if (exitingFlowState == GameFlowState.SettlementRestaurant)
{
// TODO : Remove player character
}
return Task.CompletedTask;
}
}
}

View File

@ -6,17 +6,22 @@ namespace DDD
public class RestaurantRunController : RestaurantFlowController
{
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)
{
var restaurantCustomerStateHandle = _restaurantCustomerStateSo.OnReadyNewFlow(newFlowState);
await Task.WhenAll(restaurantCustomerStateHandle);
}
public override async Task OnExitCurrentFlow(GameFlowState exitingFlowState)
{

View File

@ -5,11 +5,13 @@ namespace DDD
{
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
@ -18,6 +20,8 @@ public override async Task RunFlowTask()
{
// TODO : Instantiate and Initialize
}
return Task.CompletedTask;
}
}
}

View File

@ -9,22 +9,25 @@ public class CreateRestaurantPlayer : RestaurantFlowTask
[SerializeField]
private Vector3 _spawnPosition;
private GameObject playerPrefab;
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
var playerPrefab = await AssetManager.LoadAsset<GameObject>(CommonConstants.RestaurantPlayer);
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;
}
}
}

View File

@ -30,11 +30,11 @@ public async Task Init()
{
await LoadData();
await RestaurantDataSo.instance.LoadData();
InitializeAllFlowControllers();
}
public void PostInit()
{
InitializeAllFlowControllers();
}
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)