using System.Collections.Generic; using System.Threading.Tasks; using UnityEngine; namespace DDD { public class RestaurantPlayerController : RestaurantFlowController { public override async Task InitializeController() { } public override async Task InitializeState() { } public override async Task OnReadyNewFlow(GameFlowState newFlowState) { if (newFlowState == GameFlowState.ReadyForRestaurant) { List tasks = new List(); // Spawn player job CreateRestaurantPlayer createRestaurantPlayerJob = new CreateRestaurantPlayer(); var createPlayerReadyHandle = createRestaurantPlayerJob.ReadyFlowTask(); var createPlayerHandle = createRestaurantPlayerJob.RunFlowTask(); tasks.Add(createPlayerReadyHandle); tasks.Add(createPlayerHandle); Task.WhenAll(tasks); } } public override async Task OnExitCurrentFlow(GameFlowState exitingFlowState) { if (exitingFlowState == GameFlowState.SettlementRestaurant) { // TODO : Remove player character } } } }