diff --git a/Assets/02.Scripts/Character/Npc/Crew/Bartender/BartenderCrew.cs b/Assets/02.Scripts/Character/Npc/Crew/Bartender/BartenderCrew.cs index 3eb60c14d..6c6bc156a 100644 --- a/Assets/02.Scripts/Character/Npc/Crew/Bartender/BartenderCrew.cs +++ b/Assets/02.Scripts/Character/Npc/Crew/Bartender/BartenderCrew.cs @@ -1,4 +1,5 @@ using BlueWater.Interfaces; +using BlueWater.Items; using BlueWater.Npcs.Customers; using BlueWater.Tycoons; @@ -13,6 +14,8 @@ namespace BlueWater.Npcs.Crews.Bartender public StateMachineController StateMachineController { get; private set; } public IStateMachine IdleState { get; private set; } public IStateMachine MakingCocktailState { get; private set; } + + private CocktailData _makingCocktailData; protected override void Update() { @@ -38,6 +41,7 @@ namespace BlueWater.Npcs.Crews.Bartender OrderedCustomer = null; IsMakingCocktail = false; + _makingCocktailData = null; } public override bool IsCompletedMission() @@ -50,30 +54,29 @@ namespace BlueWater.Npcs.Crews.Bartender public void SetOrderedCustomer(Customer orderedCustomer) { OrderedCustomer = orderedCustomer; + _makingCocktailData = OrderedCustomer.OrderedCocktailData; IsOnMission = true; } public void MakingCocktail() { - if (OrderedCustomer.CurrentBill) + if (OrderedCustomer && OrderedCustomer.CurrentBill) { OrderedCustomer.CurrentBill.BartenderMakingCocktail(); } - BalloonUi.OrderItem(OrderedCustomer.OrderedCocktailData.Idx, 0, 15); + BalloonUi.OrderItem(_makingCocktailData.Idx, 0, 15); IsMakingCocktail = true; } public void CompletedMakingCocktail() { - if (OrderedCustomer.CurrentBill) + if (OrderedCustomer && OrderedCustomer.CurrentBill) { OrderedCustomer.CurrentBill.BartenderCompleteMakingCocktail(); } - - BalloonUi.DiscardItem(); - MyBartenderTable.CompleteMakingCocktail(OrderedCustomer.OrderedCocktailData); - IsMakingCocktail = false; + + MyBartenderTable.CompleteMakingCocktail(_makingCocktailData); ResetMission(); } }