0.3.2.8 업데이트

This commit is contained in:
NTG_Lenovo 2024-10-28 13:52:11 +09:00
parent 18909909fe
commit 3b66a33d2f
7 changed files with 98 additions and 24 deletions

View File

@ -165,6 +165,11 @@ namespace BlueWater.Npcs.Customers
InitializeComponents(); InitializeComponents();
} }
private void Start()
{
EventManager.OnGaugeResetCustomers += ResetGauge;
}
private void OnApplicationQuit() private void OnApplicationQuit()
{ {
_isQuitting = true; _isQuitting = true;
@ -179,6 +184,7 @@ namespace BlueWater.Npcs.Customers
private void OnDestroy() private void OnDestroy()
{ {
EventManager.OnGaugeResetCustomers -= ResetGauge;
EventManager.InvokeDestroyCustomer(this); EventManager.InvokeDestroyCustomer(this);
} }
@ -462,6 +468,14 @@ namespace BlueWater.Npcs.Customers
StateMachineController.TransitionToState(WalkingState, this); StateMachineController.TransitionToState(WalkingState, this);
} }
public void ResetGauge()
{
if (!CurrentTableSeat || IsReceivedItem) return;
BalloonUi.ResetGauge();
CurrentBill.ResetGauge();
}
#endregion #endregion
} }
} }

View File

@ -168,6 +168,13 @@ namespace BlueWater
OnOrderResult?.Invoke(orderedCustomer, orderedSucceed); OnOrderResult?.Invoke(orderedCustomer, orderedSucceed);
} }
// 손님의 기다림 게이지를 초기화 시키는 이벤트
public static Action OnGaugeResetCustomers;
public static void InvokeGaugeResetCustomers()
{
OnGaugeResetCustomers?.Invoke();
}
// Crews // Crews
public static Func<CleanerCrew> OnCreateCleanerCrew; public static Func<CleanerCrew> OnCreateCleanerCrew;
public static void InvokeCreateCleanerCrew() public static void InvokeCreateCleanerCrew()
@ -187,6 +194,14 @@ namespace BlueWater
OnCreateBartenderCrew?.Invoke(); OnCreateBartenderCrew?.Invoke();
} }
// Props
// 레스토랑을 전부 청소 이벤트
public static Action OnCleaningAll;
public static void InvokeCleaningAll()
{
OnCleaningAll?.Invoke();
}
#endregion #endregion
} }
} }

View File

@ -53,6 +53,8 @@ namespace BlueWater.Tycoons
{ {
base.Start(); base.Start();
EventManager.OnCleaningAll += Cleaning;
_fullBeerGlass = DataManager.Instance.SpriteDataSo.FullBeerGlass; _fullBeerGlass = DataManager.Instance.SpriteDataSo.FullBeerGlass;
_emptyBeerGlass = DataManager.Instance.SpriteDataSo.EmptyBeerGlass; _emptyBeerGlass = DataManager.Instance.SpriteDataSo.EmptyBeerGlass;
} }
@ -108,6 +110,11 @@ namespace BlueWater.Tycoons
} }
} }
private void OnDestroy()
{
EventManager.OnCleaningAll -= Cleaning;
}
public void Initialize() public void Initialize()
{ {
UnreserveSeat(); UnreserveSeat();
@ -186,5 +193,12 @@ namespace BlueWater.Tycoons
{ {
return !IsCleaned; return !IsCleaned;
} }
public void Cleaning()
{
if (IsCleaned) return;
CleanTable();
}
} }
} }

View File

@ -49,12 +49,6 @@ namespace BlueWater.Tycoons
if (HoldingElapsedTime > _interactionHoldingTime) if (HoldingElapsedTime > _interactionHoldingTime)
{ {
if (_isCrewInteracting)
{
OnInteractionCompleted?.Invoke();
OnInteractionCompleted = null;
}
Destroy(); Destroy();
} }
@ -104,8 +98,17 @@ namespace BlueWater.Tycoons
} }
private void Destroy() private void Destroy()
{
if (_isPlayerInteracting)
{ {
GameManager.Instance.CurrentTycoonPlayer.IsCleaningFloor = false; GameManager.Instance.CurrentTycoonPlayer.IsCleaningFloor = false;
}
if (_isCrewInteracting)
{
OnInteractionCompleted?.Invoke();
OnInteractionCompleted = null;
}
Destroy(gameObject); Destroy(gameObject);
} }

View File

@ -3,6 +3,7 @@ using BlueWater.Items;
using BlueWater.Tycoons; using BlueWater.Tycoons;
using DG.Tweening; using DG.Tweening;
using Sirenix.OdinInspector; using Sirenix.OdinInspector;
using Unity.VisualScripting;
using UnityEngine; using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
@ -143,6 +144,17 @@ namespace BlueWater.Uis
.SetAutoKill(false); .SetAutoKill(false);
} }
public void ResetGauge()
{
if (_tween == null)
{
Debug.LogError("게이지 리셋 오류");
return;
}
_tween.Restart();
}
public void PayMoney(int waitTime, int hurryTime) public void PayMoney(int waitTime, int hurryTime)
{ {
_isOrdered = true; _isOrdered = true;

View File

@ -188,5 +188,16 @@ namespace BlueWater
_checkImageObject?.gameObject.SetActive(true); _checkImageObject?.gameObject.SetActive(true);
_animationController?.SetAnimationParameter("isBartenderChecked", true); _animationController?.SetAnimationParameter("isBartenderChecked", true);
} }
public void ResetGauge()
{
if (_sliderTween == null)
{
Debug.LogError("게이지 리셋 오류");
return;
}
_sliderTween.Restart();
}
} }
} }

View File

@ -174,18 +174,23 @@ namespace BlueWater.Uis
TycoonManager.Instance.TycoonStatus.CurrentGarnishAmount2 += 4000; break; TycoonManager.Instance.TycoonStatus.CurrentGarnishAmount2 += 4000; break;
case "AddAllLiquid": case "AddAllLiquid":
TycoonManager.Instance.TycoonIngredientController.AllAddBarrels(1000); break; TycoonManager.Instance.TycoonIngredientController.AllAddBarrels(1000); break;
case "ServerNpc": EventManager.InvokeCreateServerCrew(); break; case "ServerNpc":
case "CleanerNpc": EventManager.InvokeCreateCleanerCrew(); break; EventManager.InvokeCreateServerCrew(); break;
case "ChefNpc": EventManager.InvokeCreateBartenderCrew(); break; case "CleanerNpc":
EventManager.InvokeCreateCleanerCrew(); break;
case "ChefNpc":
EventManager.InvokeCreateBartenderCrew(); break;
case "SpeedUp": case "SpeedUp":
TycoonManager.Instance.TycoonStatus.PlayerMoveSpeedMultiplier += 0.05f; break; TycoonManager.Instance.TycoonStatus.PlayerMoveSpeedMultiplier += 0.05f; break;
case "ExpGetUp": case "ExpGetUp":
TycoonManager.Instance.TycoonStatus.ExpMultiplier += 0.2f; break; TycoonManager.Instance.TycoonStatus.ExpMultiplier += 0.2f; break;
case "GoldGetUp": case "GoldGetUp":
TycoonManager.Instance.TycoonStatus.GoldMultiplier += 0.2f; break; TycoonManager.Instance.TycoonStatus.GoldMultiplier += 0.2f; break;
// case "CleanUp": return; break; case "CleanUp":
// case "GaugeReset": return; break; EventManager.InvokeCleaningAll(); break;
default: Debug.Log("Not Found Card : IDX" + currTycoonCard.CardDataForIdx.Idx); return; break; case "GaugeReset":
EventManager.InvokeGaugeResetCustomers(); break;
default: Debug.Log("Not Found Card : IDX" + currTycoonCard.CardDataForIdx.Idx); return;
} }
TycoonManager.Instance.CardDataSo.AddToSelectedCard(currTycoonCard.CardDataForIdx); TycoonManager.Instance.CardDataSo.AddToSelectedCard(currTycoonCard.CardDataForIdx);