From 87f6ddf1ea08ebe1f55cde63414fb16da8c54cb7 Mon Sep 17 00:00:00 2001 From: Nam Tae Gun Date: Sun, 27 Oct 2024 18:44:22 +0900 Subject: [PATCH] =?UTF-8?q?0.3.2.5=20=EB=B2=84=EC=A0=84=20=EC=97=85?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/01.Scenes/01.Tycoon.unity | 2 +- .../BehaviorTree/Npc/Crew/Action/Refind.cs | 5 +- .../Npc/Crew/Conditional/OnMission.cs | 2 +- .../Npc/Crew/Conditional/Serving.cs | 2 +- .../Npc/Crew/Conditional/TakeServingItem.cs | 5 +- .../Character/Npc/Crew/Server/ServerCrew.cs | 16 +++- .../Character/Npc/Customer/Customer.cs | 4 +- Assets/02.Scripts/EventManager.cs | 7 -- .../02.Scripts/Interface/ICrewInteraction.cs | 2 +- Assets/02.Scripts/Prop/Tycoon/Barrel.cs | 23 +++-- .../02.Scripts/Prop/Tycoon/BartenderTable.cs | 15 +++- .../Prop/Tycoon/InteractionFuniture.cs | 9 +- Assets/02.Scripts/Prop/Tycoon/ServingTable.cs | 33 +++++--- Assets/02.Scripts/Prop/Tycoon/TableSeat.cs | 81 +++++++++--------- Assets/02.Scripts/Prop/Tycoon/Vomiting.cs | 51 ++++++------ .../ScriptableObject/SpriteData.asset | 3 + Assets/02.Scripts/SpriteDataSo.cs | 8 +- Assets/02.Scripts/Tycoon/CrewController.cs | 6 +- Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs | 9 +- Assets/02.Scripts/Ui/Tycoon/Bill.cs | 5 ++ .../Npcs/Crews/BartenderCrew.prefab | 21 ++++- .../Characters/Npcs/Crews/CleanerCrew.prefab | 21 ++++- .../Characters/Npcs/Crews/ServerCrew.prefab | 21 ++++- .../Characters/Npcs/Customer.prefab | 34 ++++++-- .../Characters/Players/TycoonPlayer.prefab | 6 +- .../Interactions/BartenderTable.prefab | 2 +- .../Interactions/CustomerTable3.prefab | 10 +-- .../Interactions/ServingTable.prefab | 6 +- .../Characters/Npcs/Crews/Crew_Crew.mat | 2 +- .../Characters/Npcs/Crews/Crew_Crew_2.mat | 2 +- .../Sprites/Icons Colored/Basic/Lock.png.meta | 83 +++++++++++++++---- ProjectSettings/ProjectSettings.asset | 2 +- 32 files changed, 326 insertions(+), 172 deletions(-) diff --git a/Assets/01.Scenes/01.Tycoon.unity b/Assets/01.Scenes/01.Tycoon.unity index aa2248500..7965d774f 100644 --- a/Assets/01.Scenes/01.Tycoon.unity +++ b/Assets/01.Scenes/01.Tycoon.unity @@ -20747,7 +20747,7 @@ MonoBehaviour: m_EditorClassIdentifier: version: 1073741824 data: - dataString: UEsDBBQAAAgIAABIIeyASX/muwIAAAEGAAALACQAZ3JhcGgwLmpzb24KACAAAAAAAAEAGAAAgD7V3rGdAQCAPtXesZ0BAIA+1d6xnQFlVE1v4jAQ/SvI56VKoKVlb7tA2z20RaWrHjY9OPGEWBg78keBVvz3HTuGBEBIid58vXkzk2/CpamhsEo/aM6eFAPys0f8O/nRa42PsKVLJRf8Cw4+75zZyjvR4PNKLVeIpz7MqDVYzYtfcim8c4Kgk7xUej1jS5goYw3CJRUG0KSV9dESoe8e2caAXXx++Wdvj28FSAv60qufXKXRsZ8Or8bhFyKcLARd18A88zZwcIgcNIkl9hQ9kqsbX0kJwU2kROyuDi1PaG0cNoQOjFNsMZBpilfAl5W9TPBSlgYaPPEGTXdTrlGwJjn5rRoV19SsGoKfVDhfbnh3Hcg1mZ8u7KPGXGq1fjwUTxPfma14sXqlu4Ia25G5C09b/mnQaUPFiuYC3iuQz+pBKycZGq12PtQZGEw7qY7tTSooVq1fw/UMdPXlyNJ2sPvQ/XZhoX5sRbxu0b8GzEKoMIOY0lsiMvYpQeME/2A/YY9MLISo54jxb3TZXbhouOfaWDRFPhH1vnOcEDCQBUTd+95Benq5ctrnIrPA1Yvh7ERpCQGOBGuQVNjdHDPaky24tHV4nVnuqb+9yC7aDid1FhLg1j9JzkxztTkOW+MOm7DYh7d/H34IplKbJzDVi7OCy47a3vCMAk+UlM3mdsU8hC2cLmnRCbOwtU7DlFoaqiEdXDDWDUUtQ4R0QvhdDg0ERtiA/394fSuKdUWAybOS4QBPnoH+0nF2eiEkobd0zPLyZpDmo9u7vD/Mh5AXMMyTEYPROCXhhLhEuamYN3rFKeF2ybYXiefiM76CsdRpKsPkmaabB/61Vp3Jc1mqRaEB5EuT4dgsaCyCXxk2YxzbXIC1XIa9JN8ZEapYAcuOibIg7GxrNc3aLBmp+aeyHsnIJHwPM+Lh40Xi6n5y2PjiJ8lA4OiAvXEBa1p7U7In+/9QSwMEFAAACAgAAEgh7P2jyVJrAAAAdwAAAAkAJABtZXRhLmpzb24KACAAAAAAAAEAGAAAgD7V3rGdAQCAPtXesZ0BAIA+1d6xnQGrVipLLSrOzM9TslIw1TPUM9RRUEovSizIKAYKgDmlmSkgdrSSQaJ5omVKUpqpkWGSmblFkq5xknFqUnKqcZKBWUqqmaWhUixQfUllQapfYm4qRE9AYklGWmZeSmZeup57UWaKO8hopdhaAFBLAQItABQAAAgIAABIIeyASX/muwIAAAEGAAALACQAAAAAAAAAAAAAAAAAAABncmFwaDAuanNvbgoAIAAAAAAAAQAYAACAPtXesZ0BAIA+1d6xnQEAgD7V3rGdAVBLAQItABQAAAgIAABIIez9o8lSawAAAHcAAAAJACQAAAAAAAAAAAAAAAgDAABtZXRhLmpzb24KACAAAAAAAAEAGAAAgD7V3rGdAQCAPtXesZ0BAIA+1d6xnQFQSwUGAAAAAAIAAgC4AAAAvgMAAAAA + dataString: UEsDBBQAAAgIAABIIeyIBIXztwIAAPUFAAALACQAZ3JhcGgwLmpzb24KACAAAAAAAAEAGAAAgD7V3rGdAQCAPtXesZ0BAIA+1d6xnQFlVE1v4jAQ/SvI56WC0tKyt12g7R7aotJVD0sPTjwhFsaO/FGgFf99ZxxDApUiJXrzZubNV76Y1K6C3Bt7b6V4NALYzw6jb/aj0xgfYMuXRs/lJxw4b1L4kkg8cl64lwbxPrk5swZvZf5LLxWRewgGLQtj11OxhLFx3iFccOUATdZ48tYIfXXYNjns0vuT3p09fuWgPdjvrG7vop+I3dHFdeQGnSu+rkCQ5salf5N8RpGlsZhEqGPkRinpkhbmd1WsdcwrF7ASJAjJsbaogvglyGXpo/t12/25KBz4pNHy3URabFIdl/02defW3K1qaR9cBco0uL2Kuuqwj9/sw9pcWLN+OGTu9yiHL2W+euG7nDvfam0bnpxKD3rD1YpnCt5K0E/m3pqgBRq9DeQaHFxOWqGOtY1LyFcNr9Z6Bobq+5j6zTD3sfrt3EP10HTwqkH/OnBzZWL7U0iyJGREIcHi8P5gPXF3XEqEKGlE/1e+bC9ZMtxJ6zyakp6EEneGEwIBOofU9y4RNMnLTLAUi02jVmpG8GNjNUQ4CaxAc+V3M4zoz1fgzNbSdWa543RvSV2yHc7ozCXCDb/XOzPNzOY4bIvr6+JOH77+vdMQXGk2j+DK5+CV1K1uk+EJGzw2Wteb227mwW0ebMHzlpuHrQ8WJtzzmA3l4IKJtiv2MnrooBTtciwgKsIC6Hmn/pYc86oIsyej4+2dvKP8ZZDi9EJYj9/wkciK68t+Nry5zbqDbABZDoOsNxQwHPVZPCGpsd1czep+pSnhdummFo3nQhFfwHkeLNdx8sLyzb38XJvW5KUuzDy3APq5jnAsFiwmwR+MmAqJZc7Be6njXrKvBVMmX4FYHAMtYmOnW2/5oomyYJX8MJ6QBRvHf+CCEXy8SFzdDwkbSn4SDBSODsSrVLDmFZl6e7b/D1BLAwQUAAAICAAASCHs/aPJUmsAAAB3AAAACQAkAG1ldGEuanNvbgoAIAAAAAAAAQAYAACAPtXesZ0BAIA+1d6xnQEAgD7V3rGdAatWKkstKs7Mz1OyUjDVM9Qz1FFQSi9KLMgoBgqAOaWZKSB2tJJBonmiZUpSmqmRYZKZuUWSrnGScWpScqpxkoFZSqqZpaFSLFB9SWVBql9ibipET0BiSUZaZl5KZl66nntRZoo7yGil2FoAUEsBAi0AFAAACAgAAEgh7IgEhfO3AgAA9QUAAAsAJAAAAAAAAAAAAAAAAAAAAGdyYXBoMC5qc29uCgAgAAAAAAABABgAAIA+1d6xnQEAgD7V3rGdAQCAPtXesZ0BUEsBAi0AFAAACAgAAEgh7P2jyVJrAAAAdwAAAAkAJAAAAAAAAAAAAAAABAMAAG1ldGEuanNvbgoAIAAAAAAAAQAYAACAPtXesZ0BAIA+1d6xnQEAgD7V3rGdAVBLBQYAAAAAAgACALgAAAC6AwAAAAA= file_cachedStartup: {fileID: 0} cacheStartup: 0 showNavGraphs: 1 diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/Refind.cs b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/Refind.cs index d1590edfe..b785deab3 100644 --- a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/Refind.cs +++ b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/Refind.cs @@ -21,7 +21,7 @@ namespace BlueWater.BehaviorTrees.Actions var orderedCustomer = tycoonManager.CustomerController.FindCustomerMatchingItem(_serverCrew.CurrentPickupItem); if (orderedCustomer) { - _serverCrew.OnMission(orderedCustomer, orderedCustomer); + _serverCrew.OnMission(orderedCustomer, orderedCustomer, ActionType.ServingToCustomer); return TaskStatus.Success; } @@ -29,8 +29,7 @@ namespace BlueWater.BehaviorTrees.Actions var emptyServingTable = tycoonManager.ServingTableController.FindEmptyServingTable(); if (emptyServingTable) { - _serverCrew.OnMission(emptyServingTable); - _serverCrew.AIMovement.Move(emptyServingTable.CenterTransform.position); + _serverCrew.OnMission(emptyServingTable, null, ActionType.PlaceOnServingTable); return TaskStatus.Success; } diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/OnMission.cs b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/OnMission.cs index 66f475681..cbf4ca932 100644 --- a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/OnMission.cs +++ b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/OnMission.cs @@ -23,7 +23,7 @@ namespace BlueWater.BehaviorTrees.Actions public override TaskStatus OnUpdate() { - if (_crew.CrewInteraction == null || !_crew.CrewInteraction.CanInteractionCrew()) + if (_crew.CrewInteraction == null || !_crew.CrewInteraction.CanInteractionCrew(_crew)) { _crew.AIMovement.StopMove(); _crew.ResetMission(); diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/Serving.cs b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/Serving.cs index e9ed1d550..8c5b2460e 100644 --- a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/Serving.cs +++ b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/Serving.cs @@ -29,7 +29,7 @@ namespace BlueWater.BehaviorTrees.Actions public override TaskStatus OnUpdate() { - if (!_serverCrew.CrewInteraction.CanInteractionCrew()) + if (!_serverCrew.CrewInteraction.CanInteractionCrew(_serverCrew)) { _serverCrew.AIMovement.StopMove(); _serverCrew.CanNotServing(); diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/TakeServingItem.cs b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/TakeServingItem.cs index 1114ec6ae..1b6e5932a 100644 --- a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/TakeServingItem.cs +++ b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/TakeServingItem.cs @@ -15,7 +15,7 @@ namespace BlueWater.BehaviorTrees.Actions public override void OnStart() { - if (_serverCrew.CrewInteraction != null && _serverCrew.CurrentPickupItem == null) + if (_serverCrew.CrewInteraction != null) { _serverCrew.AIMovement.Move(_serverCrew.CrewInteraction.CenterTransform.position); } @@ -25,7 +25,8 @@ namespace BlueWater.BehaviorTrees.Actions { if (_serverCrew.CurrentPickupItem != null) return TaskStatus.Success; - if (_serverCrew.CrewInteraction == null || !_serverCrew.CrewInteraction.CanInteractionCrew() || !_serverCrew.OrderedCustomer.CanInteractionCrew()) + if (_serverCrew.CrewInteraction == null || !_serverCrew.CrewInteraction.CanInteractionCrew(_serverCrew) || + _serverCrew.OrderedCustomer == null || !_serverCrew.OrderedCustomer.CanInteractionCrew()) { _serverCrew.AIMovement.StopMove(); _serverCrew.ResetMission(); diff --git a/Assets/02.Scripts/Character/Npc/Crew/Server/ServerCrew.cs b/Assets/02.Scripts/Character/Npc/Crew/Server/ServerCrew.cs index 4247978a3..38b7a208f 100644 --- a/Assets/02.Scripts/Character/Npc/Crew/Server/ServerCrew.cs +++ b/Assets/02.Scripts/Character/Npc/Crew/Server/ServerCrew.cs @@ -3,11 +3,21 @@ using BlueWater.Npcs.Customers; namespace BlueWater.Npcs.Crews.Server { + public enum ActionType + { + None = 0, + Patrol, + TakeCocktail, + PlaceOnServingTable, + ServingToCustomer + } + public class ServerCrew : Crew { public Customer OrderedCustomer { get; private set; } public IPickup CurrentPickupItem { get; private set; } public bool IsServing { get; private set; } + public ActionType CurrentActionType { get; private set; } public StateMachineController StateMachineController { get; private set; } public IStateMachine IdleState { get; private set; } @@ -22,6 +32,7 @@ namespace BlueWater.Npcs.Crews.Server public override void Initialize() { + CurrentActionType = ActionType.Patrol; IdleState = new IdleState(); WalkingState = new WalkingState(); ServingState = new ServingState(); @@ -33,6 +44,8 @@ namespace BlueWater.Npcs.Crews.Server public override void ResetMission() { + CurrentActionType = ActionType.Patrol; + CrewInteraction = null; IsOnMission = false; BalloonUi.DiscardItem(); @@ -53,10 +66,11 @@ namespace BlueWater.Npcs.Crews.Server return CrewInteraction == null && !OrderedCustomer && CurrentPickupItem == null && !IsServing; } - public void OnMission(ICrewInteraction crewInteraction, Customer orderedCustomer) + public void OnMission(ICrewInteraction crewInteraction, Customer orderedCustomer, ActionType actionType) { base.OnMission(crewInteraction); OrderedCustomer = orderedCustomer; + CurrentActionType = actionType; } public void TakeFromServingTable(IPickup pickupItem, Customer orderedCustomer) diff --git a/Assets/02.Scripts/Character/Npc/Customer/Customer.cs b/Assets/02.Scripts/Character/Npc/Customer/Customer.cs index 460e78556..78ae41ca7 100644 --- a/Assets/02.Scripts/Character/Npc/Customer/Customer.cs +++ b/Assets/02.Scripts/Character/Npc/Customer/Customer.cs @@ -339,9 +339,9 @@ namespace BlueWater.Npcs.Customers throw new NotImplementedException(); } - public bool CanInteractionCrew() + public bool CanInteractionCrew(Crew crew = null) { - return !IsReceivedItem; + return !IsReceivedItem && CurrentTableSeat; } public virtual void ShowInteractionUi() diff --git a/Assets/02.Scripts/EventManager.cs b/Assets/02.Scripts/EventManager.cs index 1f9079496..a8df35bca 100644 --- a/Assets/02.Scripts/EventManager.cs +++ b/Assets/02.Scripts/EventManager.cs @@ -133,13 +133,6 @@ namespace BlueWater OnPlaceOnServingTable?.Invoke(); } - // 플레이어가 서빙테이블에 있는 칵테일을 가져오는 이벤트 - public static Action OnTakeFromServingTable; - public static void InvokeTakeFromServingTable() - { - OnTakeFromServingTable?.Invoke(); - } - // Npc // 손님 생성 이벤트 public static Action OnCreateCustomer; diff --git a/Assets/02.Scripts/Interface/ICrewInteraction.cs b/Assets/02.Scripts/Interface/ICrewInteraction.cs index f0e69c519..0fc5d3d68 100644 --- a/Assets/02.Scripts/Interface/ICrewInteraction.cs +++ b/Assets/02.Scripts/Interface/ICrewInteraction.cs @@ -14,7 +14,7 @@ namespace BlueWater.Interfaces void InteractionCrew(Crew crew); void CancelInteractionCrew(); - bool CanInteractionCrew(); + bool CanInteractionCrew(Crew crew = null); event Action OnInteractionCompleted; } diff --git a/Assets/02.Scripts/Prop/Tycoon/Barrel.cs b/Assets/02.Scripts/Prop/Tycoon/Barrel.cs index 1cfb4cf5a..aa891e86f 100644 --- a/Assets/02.Scripts/Prop/Tycoon/Barrel.cs +++ b/Assets/02.Scripts/Prop/Tycoon/Barrel.cs @@ -1,6 +1,5 @@ using System; using BlueWater.Items; -using BlueWater.Players.Tycoons; using Sirenix.OdinInspector; using UnityEngine; @@ -25,9 +24,19 @@ namespace BlueWater.Tycoons [field: SerializeField] public int CurrentAmount { get; private set; } - - [field: SerializeField] - public bool IsActivated { get; private set; } + + [SerializeField] + private bool _isActivated; + public bool IsActivated + { + get => _isActivated; + private set + { + _isActivated = value; + + _liquidImage.sprite = _isActivated ? _liquidData.Sprite : DataManager.Instance.SpriteDataSo.Lock; + } + } private Material _instanceMaterial; @@ -49,10 +58,12 @@ namespace BlueWater.Tycoons SetCurrentAmount(0); } - private void Start() + protected override void Start() { + base.Start(); + + _liquidImage.sprite = _isActivated ? _liquidData.Sprite : DataManager.Instance.SpriteDataSo.Lock; InteractionMessage = $"{_liquidData.Name} 따르기"; - _liquidImage.sprite = _liquidData.Sprite; _instanceMaterial.SetColor(LiquidColorHash, _liquidData.Color * _colorIntensity); } diff --git a/Assets/02.Scripts/Prop/Tycoon/BartenderTable.cs b/Assets/02.Scripts/Prop/Tycoon/BartenderTable.cs index e6dc8c965..046e98bd4 100644 --- a/Assets/02.Scripts/Prop/Tycoon/BartenderTable.cs +++ b/Assets/02.Scripts/Prop/Tycoon/BartenderTable.cs @@ -1,4 +1,7 @@ +using System; using BlueWater.Interfaces; +using BlueWater.Npcs.Crews; +using BlueWater.Npcs.Crews.Server; namespace BlueWater.Tycoons { @@ -9,12 +12,12 @@ namespace BlueWater.Tycoons // 테이블의 칵테일을 가져가는 경우 if (CurrentPickupItem != null) { - EventManager.InvokeTakeFromServingTable(); CurrentTycoonPlayer.TycoonPickupHandler.PickupItem(CurrentPickupItem); CurrentTycoonPlayer.InteractionCanvas.BalloonUi.SetItemImage(CurrentPickupItem); CocktailGlassImage.enabled = false; InteractionCanvas.BalloonUi.DiscardItem(); CurrentPickupItem = null; + OrderedCustomer = null; } } @@ -23,9 +26,15 @@ namespace BlueWater.Tycoons return CurrentPickupItem != null && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpCocktail(); } - public override bool CanInteractionCrew() + public override bool CanInteractionCrew(Crew crew = null) { - return CurrentPickupItem != null && _orderedCustomer != null; + var servingCrew = (ServerCrew)crew; + if (!servingCrew) + { + throw new Exception("상호작용 오브젝트 오류"); + } + + return servingCrew.CurrentActionType == ActionType.TakeCocktail && CurrentPickupItem != null && OrderedCustomer; } public void CompleteMakingCocktail(IPickup cocktailData) diff --git a/Assets/02.Scripts/Prop/Tycoon/InteractionFuniture.cs b/Assets/02.Scripts/Prop/Tycoon/InteractionFuniture.cs index 2dec64a81..c07ed1c96 100644 --- a/Assets/02.Scripts/Prop/Tycoon/InteractionFuniture.cs +++ b/Assets/02.Scripts/Prop/Tycoon/InteractionFuniture.cs @@ -36,9 +36,10 @@ namespace BlueWater.Tycoons protected bool IsOpened; protected TycoonPlayer CurrentTycoonPlayer; + protected Material OriginalMaterial; protected bool IsQuitting; protected bool IsShowing; - protected Material OriginalMaterial; + protected float HoldingElapsedTime; private void OnDrawGizmosSelected() { @@ -61,6 +62,11 @@ namespace BlueWater.Tycoons RegisterPlayerInteraction(); } + + protected virtual void Start() + { + + } protected virtual void OnDisable() { @@ -101,6 +107,7 @@ namespace BlueWater.Tycoons { VisualLook.material = OutlineMaterial; EventManager.InvokeShowInteractionUi(InteractionMessage); + EventManager.InvokeHoldInteracting(HoldingElapsedTime); IsShowing = true; } diff --git a/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs b/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs index 7039ee1dd..3f722df7e 100644 --- a/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs +++ b/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs @@ -45,10 +45,10 @@ namespace BlueWater.Tycoons } } + protected Customer OrderedCustomer; private Material _originalCocktailGlassMaterial; private Coroutine _findCustomerMatchingItemInstance; private Coroutine _findServerCrewInstance; - protected Customer _orderedCustomer; public event Action OnInteractionCompleted; @@ -64,21 +64,21 @@ namespace BlueWater.Tycoons // 테이블의 칵테일을 가져가는 경우 if (CurrentPickupItem != null) { - EventManager.InvokeTakeFromServingTable(); CurrentTycoonPlayer.TycoonPickupHandler.PickupItem(CurrentPickupItem); CurrentTycoonPlayer.InteractionCanvas.BalloonUi.SetItemImage(CurrentPickupItem); CocktailGlassImage.enabled = false; InteractionCanvas.BalloonUi.DiscardItem(); CurrentPickupItem = null; + OrderedCustomer = null; } // 테이블에 칵테일을 놓는 경우 else { EventManager.InvokePlaceOnServingTable(); CurrentPickupItem = CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem(); - CurrentTycoonPlayer.TycoonPickupHandler.GiveItem(CurrentPickupItem); - CurrentTycoonPlayer.InteractionCanvas.BalloonUi.DiscardItem(); InteractionCanvas.BalloonUi.SetItemImage(CurrentPickupItem); + CurrentTycoonPlayer.TycoonPickupHandler.DiscardItem(); + CurrentTycoonPlayer.InteractionCanvas.BalloonUi.DiscardItem(); CocktailGlassImage.enabled = true; } } @@ -108,15 +108,17 @@ namespace BlueWater.Tycoons public void InteractionCrew(Crew crew) { - // 테이블의 칵테일을 가져가는 경우 + // 종업원이 테이블의 칵테일을 가져가는 경우 if (CurrentPickupItem != null) { var serverCrew = (ServerCrew)crew; - serverCrew.TakeFromServingTable(CurrentPickupItem, _orderedCustomer); + serverCrew.TakeFromServingTable(CurrentPickupItem, OrderedCustomer); CocktailGlassImage.enabled = false; InteractionCanvas.BalloonUi.DiscardItem(); CurrentPickupItem = null; + OrderedCustomer = null; } + // 종업원이 테이블에 칵테일을 놓는 경우 else { var serverCrew = (ServerCrew)crew; @@ -132,10 +134,16 @@ namespace BlueWater.Tycoons throw new NotImplementedException(); } - public virtual bool CanInteractionCrew() + public virtual bool CanInteractionCrew(Crew crew = null) { - return (CurrentPickupItem != null && _orderedCustomer != null) || - CurrentPickupItem == null; + var servingCrew = (ServerCrew)crew; + if (!servingCrew) + { + throw new Exception("상호작용 오브젝트 오류"); + } + + return (servingCrew.CurrentActionType == ActionType.TakeCocktail && CurrentPickupItem != null && OrderedCustomer) || + servingCrew.CurrentActionType == ActionType.PlaceOnServingTable && CurrentPickupItem == null; } private IEnumerator FindCustomerMatchingItem() @@ -143,12 +151,13 @@ namespace BlueWater.Tycoons var waitTime = new WaitForSeconds(2f); while (true) { - _orderedCustomer = TycoonManager.Instance.CustomerController.FindCustomerMatchingItem(_currentPickupItem); - if (_orderedCustomer && _orderedCustomer.CanInteractionCrew()) + OrderedCustomer = TycoonManager.Instance.CustomerController.FindCustomerMatchingItem(_currentPickupItem); + if (OrderedCustomer && OrderedCustomer.CanInteractionCrew()) { var crewController = TycoonManager.Instance.CrewController; Utils.StartUniqueCoroutine(this, ref _findServerCrewInstance, - crewController.FindClosestCrewCoroutine(CenterTransform.position, crewController.ServerCrews, crew => crew.OnMission(this, _orderedCustomer))); + crewController.FindClosestCrewCoroutine(CenterTransform.position, crewController.ServerCrews, + crew => crew.OnMission(this, OrderedCustomer, ActionType.TakeCocktail))); } yield return waitTime; diff --git a/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs b/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs index b265aa671..11ef10790 100644 --- a/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs +++ b/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs @@ -1,6 +1,4 @@ using System; -using System.Collections; -using System.Linq; using BlueWater.Interfaces; using BlueWater.Npcs.Crews; using BlueWater.Npcs.Crews.Cleaner; @@ -32,21 +30,15 @@ namespace BlueWater.Tycoons [field: SerializeField] public int TableNumber; - - [SerializeField] - private Sprite _foodImage; - - [SerializeField] - private Sprite _dirtyImage; [SerializeField] private float _interactionHoldingTime = 3f; - + + private Sprite _fullBeerGlass; + private Sprite _emptyBeerGlass; private Coroutine _findCleanerCrewInstance; private bool _isPlayerInteracting; private bool _isCrewInteracting; - private float _playerElapsedTime; - private float _crewElapsedTime; public event Action OnInteractionCompleted; @@ -57,6 +49,14 @@ namespace BlueWater.Tycoons Initialize(); } + protected override void Start() + { + base.Start(); + + _fullBeerGlass = DataManager.Instance.SpriteDataSo.FullBeerGlass; + _emptyBeerGlass = DataManager.Instance.SpriteDataSo.EmptyBeerGlass; + } + private void Update() { if (InteractionCanvas.BalloonUi.IsWaitTimeOver()) @@ -65,28 +65,13 @@ namespace BlueWater.Tycoons damageable?.TakeDamage(1); CleanTable(); } - - if (_isPlayerInteracting) - { - if (_playerElapsedTime > _interactionHoldingTime) - { - CleanTable(); - } - _playerElapsedTime += Time.deltaTime; - } - else - { - if (_playerElapsedTime > 0f) - { - _playerElapsedTime -= Time.deltaTime; - } - } + if (IsCleaned) return; var holdingGauge = 0f; - if (_playerElapsedTime > 0f) + if (HoldingElapsedTime > 0f) { - holdingGauge = Mathf.Clamp(_playerElapsedTime / _interactionHoldingTime, 0f, 1f); + holdingGauge = Mathf.Clamp(HoldingElapsedTime / _interactionHoldingTime, 0f, 1f); } if (IsShowing) @@ -94,16 +79,32 @@ namespace BlueWater.Tycoons EventManager.InvokeHoldInteracting(holdingGauge); } - if (_isCrewInteracting) + if (HoldingElapsedTime > _interactionHoldingTime) { - if (_crewElapsedTime > _interactionHoldingTime) + if (_isCrewInteracting) { OnInteractionCompleted?.Invoke(); OnInteractionCompleted = null; - CleanTable(); } + + CleanTable(); + } + + if (_isPlayerInteracting) + { + HoldingElapsedTime += Time.deltaTime; + } + if (_isCrewInteracting) + { + HoldingElapsedTime += Time.deltaTime; + } - _crewElapsedTime += Time.deltaTime; + if (!_isPlayerInteracting && !_isCrewInteracting) + { + if (HoldingElapsedTime > 0f) + { + HoldingElapsedTime -= Time.deltaTime; + } } } @@ -120,7 +121,7 @@ namespace BlueWater.Tycoons public void SetFood() { - Food.sprite = _foodImage; + Food.sprite = _fullBeerGlass; Food.enabled = true; } @@ -155,14 +156,14 @@ namespace BlueWater.Tycoons _isCrewInteracting = false; InteractionCanvas.BalloonUi.HideUi(); InteractionCanvas.BalloonUi.ResetUi(); - _playerElapsedTime = 0f; + HoldingElapsedTime = 0f; } public void DirtyTable() { - Food.sprite = _dirtyImage; + Food.sprite = _emptyBeerGlass; Food.enabled = true; - InteractionCanvas.BalloonUi.OrderItem(_dirtyImage, 0, TycoonManager.Instance.TycoonStageController.StageDataSo.DirtyTableWaitTime); + InteractionCanvas.BalloonUi.OrderItem(_emptyBeerGlass, 0, TycoonManager.Instance.TycoonStageController.StageDataSo.DirtyTableWaitTime); IsCleaned = false; var crewController = TycoonManager.Instance.CrewController; @@ -172,20 +173,18 @@ namespace BlueWater.Tycoons public void InteractionCrew(Crew crew) { - _crewElapsedTime = 0f; _isCrewInteracting = true; ((CleanerCrew)crew).SetIsCleaningTable(true); } public void CancelInteractionCrew() { - _crewElapsedTime = 0f; _isCrewInteracting = false; } - public bool CanInteractionCrew() + public bool CanInteractionCrew(Crew crew = null) { - return !_isPlayerInteracting; + return !IsCleaned; } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs b/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs index d9f42fa34..8c3d181ab 100644 --- a/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs +++ b/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs @@ -17,8 +17,6 @@ namespace BlueWater.Tycoons private Coroutine _findCleanerCrewInstance; private bool _isPlayerInteracting; private bool _isCrewInteracting; - private float _playerElapsedTime; - private float _crewElapsedTime; public event Action OnInteractionCompleted; @@ -38,27 +36,10 @@ namespace BlueWater.Tycoons Destroy(); } - if (_isPlayerInteracting) - { - if (_playerElapsedTime > _interactionHoldingTime) - { - Destroy(); - } - - _playerElapsedTime += Time.deltaTime; - } - else - { - if (_playerElapsedTime > 0f) - { - _playerElapsedTime -= Time.deltaTime; - } - } - var holdingGauge = 0f; - if (_playerElapsedTime > 0f) + if (HoldingElapsedTime > 0f) { - holdingGauge = Mathf.Clamp(_playerElapsedTime / _interactionHoldingTime, 0f, 1f); + holdingGauge = Mathf.Clamp(HoldingElapsedTime / _interactionHoldingTime, 0f, 1f); } if (IsShowing) @@ -66,16 +47,32 @@ namespace BlueWater.Tycoons EventManager.InvokeHoldInteracting(holdingGauge); } - if (_isCrewInteracting) + if (HoldingElapsedTime > _interactionHoldingTime) { - if (_crewElapsedTime > _interactionHoldingTime) + if (_isCrewInteracting) { OnInteractionCompleted?.Invoke(); OnInteractionCompleted = null; - Destroy(); } + + Destroy(); + } + + if (_isPlayerInteracting) + { + HoldingElapsedTime += Time.deltaTime; + } + if (_isCrewInteracting) + { + HoldingElapsedTime += Time.deltaTime; + } - _crewElapsedTime += Time.deltaTime; + if (!_isPlayerInteracting && !_isCrewInteracting) + { + if (HoldingElapsedTime > 0f) + { + HoldingElapsedTime -= Time.deltaTime; + } } } @@ -123,9 +120,9 @@ namespace BlueWater.Tycoons _isCrewInteracting = false; } - public bool CanInteractionCrew() + public bool CanInteractionCrew(Crew crew = null) { - return !_isPlayerInteracting; + return true; } } } \ No newline at end of file diff --git a/Assets/02.Scripts/ScriptableObject/SpriteData.asset b/Assets/02.Scripts/ScriptableObject/SpriteData.asset index c2f8c190a..8d098b871 100644 --- a/Assets/02.Scripts/ScriptableObject/SpriteData.asset +++ b/Assets/02.Scripts/ScriptableObject/SpriteData.asset @@ -13,3 +13,6 @@ MonoBehaviour: m_Name: SpriteData m_EditorClassIdentifier: k__BackingField: {fileID: 21300000, guid: 51c11bee66d04f64d8d44afcb9975321, type: 3} + k__BackingField: {fileID: 21300000, guid: cda1d961a563b6143a024170ed6f0f44, type: 3} + k__BackingField: {fileID: 21300000, guid: 514247b5965aef447b13b5da95f3281a, type: 3} + k__BackingField: {fileID: 21300000, guid: 8ef64d8ac85ff4681987c8b621bef86b, type: 3} diff --git a/Assets/02.Scripts/SpriteDataSo.cs b/Assets/02.Scripts/SpriteDataSo.cs index 6a3a882e8..b28b19d15 100644 --- a/Assets/02.Scripts/SpriteDataSo.cs +++ b/Assets/02.Scripts/SpriteDataSo.cs @@ -9,6 +9,12 @@ namespace BlueWater public Sprite Gold { get; private set; } [field: SerializeField] - public Sprite UnfinishedCocktail { get; private set; } + public Sprite EmptyBeerGlass { get; private set; } + + [field: SerializeField] + public Sprite FullBeerGlass { get; private set; } + + [field: SerializeField] + public Sprite Lock { get; private set; } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Tycoon/CrewController.cs b/Assets/02.Scripts/Tycoon/CrewController.cs index 237e7f261..7a711bd5b 100644 --- a/Assets/02.Scripts/Tycoon/CrewController.cs +++ b/Assets/02.Scripts/Tycoon/CrewController.cs @@ -136,12 +136,12 @@ namespace BlueWater.Tycoons { foreach (var element in BartenderCrews) { - if (orderedCustomer.IsReceivedItem) yield break; + if (element.MyBartenderTable.CurrentPickupItem != null || element.IsOnMission) continue; var orderedCocktailIngredients = orderedCustomer.OrderedCocktailData.ValidIngredients; if (!tycoonIngredientController.IsMakingCocktail(orderedCocktailIngredients)) break; - - if (element.MyBartenderTable.CurrentPickupItem != null || element.IsOnMission) continue; + + if (orderedCustomer.IsReceivedItem || orderedCustomer.IsMatchedServer) yield break; element.SetOrderedCustomer(orderedCustomer); tycoonIngredientController.ConsumeMakingCocktailIngredient(orderedCocktailIngredients); diff --git a/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs b/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs index e174a4403..93fa81131 100644 --- a/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs @@ -69,18 +69,11 @@ namespace BlueWater.Uis public void SetItemImage(IPickup item) { - //_orderItemData = ItemManager.Instance.GetItemDataByIdx(foodIdx); - // if (_orderItemData == null) - // { - // Debug.LogError($"{foodIdx} 해당 음식을 등록할 수 없습니다."); - // return; - // } - if (!item.Sprite) { Debug.LogWarning($"{item.Sprite} 해당 음식의 이미지가 없습니다."); } - + _isUnfinishedCocktailPickedUp = false; SetItemSprite(item.Sprite); ShowUi(); diff --git a/Assets/02.Scripts/Ui/Tycoon/Bill.cs b/Assets/02.Scripts/Ui/Tycoon/Bill.cs index 2d4595784..a3d36a44d 100644 --- a/Assets/02.Scripts/Ui/Tycoon/Bill.cs +++ b/Assets/02.Scripts/Ui/Tycoon/Bill.cs @@ -85,6 +85,7 @@ namespace BlueWater private void OnDestroy() { _slider.onValueChanged.RemoveListener(OnSliderValueChanged); + DOTween.Kill(_rect); } private void OnSliderValueChanged(float value) @@ -94,6 +95,8 @@ namespace BlueWater public void Move(BillInfo billInfo) { + if (!_rect) return; + if (CurrentBillInfo != null) { CurrentBillInfo.IsEmpty = true; @@ -119,6 +122,8 @@ namespace BlueWater private void OnArrivedTarget() { + if (!_rect) return; + CurrentBillInfo.IsMoving = false; var randomZ = Random.Range(-15f, 15f); var arrivedSequence = DOTween.Sequence(); diff --git a/Assets/05.Prefabs/Characters/Npcs/Crews/BartenderCrew.prefab b/Assets/05.Prefabs/Characters/Npcs/Crews/BartenderCrew.prefab index 1508e3ff9..677867c2e 100644 --- a/Assets/05.Prefabs/Characters/Npcs/Crews/BartenderCrew.prefab +++ b/Assets/05.Prefabs/Characters/Npcs/Crews/BartenderCrew.prefab @@ -200,6 +200,7 @@ GameObject: - component: {fileID: 479823629690914954} - component: {fileID: 2588384133887034894} - component: {fileID: 2961986041977982893} + - component: {fileID: 2322101151879677010} m_Layer: 14 m_Name: VisualLook m_TagString: Untagged @@ -319,6 +320,18 @@ MonoBehaviour: _animationName: Idle loop: 1 timeScale: 1 +--- !u!210 &2322101151879677010 +SortingGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813964778509222274} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 5 + m_SortAtRoot: 0 --- !u!1 &2781393898199067900 GameObject: m_ObjectHideFlags: 0 @@ -604,13 +617,13 @@ CapsuleCollider: m_Bits: 0 m_ExcludeLayers: serializedVersion: 2 - m_Bits: 0 + m_Bits: 256 m_LayerOverridePriority: 0 m_IsTrigger: 0 m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 2 - m_Radius: 0.1 + m_Radius: 0.25 m_Height: 0.5 m_Direction: 1 m_Center: {x: 0, y: 0.25, z: 0} @@ -655,7 +668,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: version: 1073741824 - radius: 0.1 + radius: 0.25 height: 0.5 canMove: 1 maxSpeed: 2 @@ -663,7 +676,7 @@ MonoBehaviour: groundMask: serializedVersion: 2 m_Bits: 4294967295 - endReachedDistance: 0.5 + endReachedDistance: 0.2 whenCloseToDestination: 0 rvoDensityBehavior: enabled: 1 diff --git a/Assets/05.Prefabs/Characters/Npcs/Crews/CleanerCrew.prefab b/Assets/05.Prefabs/Characters/Npcs/Crews/CleanerCrew.prefab index 5c2b0b27c..fadb9fba2 100644 --- a/Assets/05.Prefabs/Characters/Npcs/Crews/CleanerCrew.prefab +++ b/Assets/05.Prefabs/Characters/Npcs/Crews/CleanerCrew.prefab @@ -200,6 +200,7 @@ GameObject: - component: {fileID: 479823629690914954} - component: {fileID: 2588384133887034894} - component: {fileID: 2961986041977982893} + - component: {fileID: 1143287283172291005} m_Layer: 14 m_Name: VisualLook m_TagString: Untagged @@ -319,6 +320,18 @@ MonoBehaviour: _animationName: Idle loop: 1 timeScale: 1 +--- !u!210 &1143287283172291005 +SortingGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813964778509222274} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 5 + m_SortAtRoot: 0 --- !u!1 &2781393898199067900 GameObject: m_ObjectHideFlags: 0 @@ -604,13 +617,13 @@ CapsuleCollider: m_Bits: 0 m_ExcludeLayers: serializedVersion: 2 - m_Bits: 0 + m_Bits: 256 m_LayerOverridePriority: 0 m_IsTrigger: 0 m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 2 - m_Radius: 0.1 + m_Radius: 0.25 m_Height: 0.5 m_Direction: 1 m_Center: {x: 0, y: 0.25, z: 0} @@ -655,7 +668,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: version: 1073741824 - radius: 0.1 + radius: 0.25 height: 0.5 canMove: 1 maxSpeed: 2 @@ -663,7 +676,7 @@ MonoBehaviour: groundMask: serializedVersion: 2 m_Bits: 4294967295 - endReachedDistance: 0.5 + endReachedDistance: 0.2 whenCloseToDestination: 0 rvoDensityBehavior: enabled: 1 diff --git a/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab b/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab index 7e47a386a..fe4043f8b 100644 --- a/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab +++ b/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab @@ -200,6 +200,7 @@ GameObject: - component: {fileID: 479823629690914954} - component: {fileID: 2588384133887034894} - component: {fileID: 2961986041977982893} + - component: {fileID: 1333026624613754047} m_Layer: 14 m_Name: VisualLook m_TagString: Untagged @@ -319,6 +320,18 @@ MonoBehaviour: _animationName: Idle loop: 1 timeScale: 1 +--- !u!210 &1333026624613754047 +SortingGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813964778509222274} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 5 + m_SortAtRoot: 0 --- !u!1 &2781393898199067900 GameObject: m_ObjectHideFlags: 0 @@ -604,13 +617,13 @@ CapsuleCollider: m_Bits: 0 m_ExcludeLayers: serializedVersion: 2 - m_Bits: 0 + m_Bits: 256 m_LayerOverridePriority: 0 m_IsTrigger: 0 m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 2 - m_Radius: 0.1 + m_Radius: 0.25 m_Height: 0.5 m_Direction: 1 m_Center: {x: 0, y: 0.25, z: 0} @@ -655,7 +668,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: version: 1073741824 - radius: 0.1 + radius: 0.25 height: 0.5 canMove: 1 maxSpeed: 2 @@ -663,7 +676,7 @@ MonoBehaviour: groundMask: serializedVersion: 2 m_Bits: 4294967295 - endReachedDistance: 0.5 + endReachedDistance: 0.2 whenCloseToDestination: 0 rvoDensityBehavior: enabled: 1 diff --git a/Assets/05.Prefabs/Characters/Npcs/Customer.prefab b/Assets/05.Prefabs/Characters/Npcs/Customer.prefab index 66fe37a5f..f45925f7d 100644 --- a/Assets/05.Prefabs/Characters/Npcs/Customer.prefab +++ b/Assets/05.Prefabs/Characters/Npcs/Customer.prefab @@ -200,6 +200,7 @@ GameObject: - component: {fileID: 479823629690914954} - component: {fileID: 2588384133887034894} - component: {fileID: 2961986041977982893} + - component: {fileID: 4034770193240481967} m_Layer: 14 m_Name: VisualLook m_TagString: Untagged @@ -318,6 +319,18 @@ MonoBehaviour: _animationName: Idle loop: 1 timeScale: 1 +--- !u!210 &4034770193240481967 +SortingGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813964778509222274} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 5 + m_SortAtRoot: 0 --- !u!1 &2781393898199067900 GameObject: m_ObjectHideFlags: 0 @@ -913,13 +926,13 @@ CapsuleCollider: m_Bits: 0 m_ExcludeLayers: serializedVersion: 2 - m_Bits: 0 + m_Bits: 256 m_LayerOverridePriority: 0 m_IsTrigger: 0 m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 2 - m_Radius: 0.1 + m_Radius: 0.25 m_Height: 0.5 m_Direction: 1 m_Center: {x: 0, y: 0.25, z: 0} @@ -964,7 +977,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: version: 1073741824 - radius: 0.1 + radius: 0.25 height: 0.5 canMove: 1 maxSpeed: 2 @@ -972,7 +985,7 @@ MonoBehaviour: groundMask: serializedVersion: 2 m_Bits: 4294967295 - endReachedDistance: 0.5 + endReachedDistance: 0.2 whenCloseToDestination: 0 rvoDensityBehavior: enabled: 1 @@ -1134,16 +1147,19 @@ MonoBehaviour: k__BackingField: k__BackingField: 0 k__BackingField: - k__BackingField: 0 + k__BackingField: 0 k__BackingField: - k__BackingField: 0 + k__BackingField: 0 k__BackingField: - k__BackingField: 0 + k__BackingField: 0 k__BackingField: - k__BackingField: 0 + k__BackingField: 0 k__BackingField: - k__BackingField: 0 + k__BackingField: 0 k__BackingField: {fileID: 0} + k__BackingField: [] + k__BackingField: {fileID: 0} + k__BackingField: 0 k__BackingField: 0 k__BackingField: 0 _customerInteractionType: 0 diff --git a/Assets/05.Prefabs/Characters/Players/TycoonPlayer.prefab b/Assets/05.Prefabs/Characters/Players/TycoonPlayer.prefab index d442d0a50..8e20e1af3 100644 --- a/Assets/05.Prefabs/Characters/Players/TycoonPlayer.prefab +++ b/Assets/05.Prefabs/Characters/Players/TycoonPlayer.prefab @@ -320,9 +320,9 @@ CapsuleCollider: m_Enabled: 1 serializedVersion: 2 m_Radius: 0.25 - m_Height: 1 + m_Height: 0.5 m_Direction: 1 - m_Center: {x: 0, y: 0.5, z: 0} + m_Center: {x: 0, y: 0.25, z: 0} --- !u!114 &6054159730444663926 MonoBehaviour: m_ObjectHideFlags: 0 @@ -585,7 +585,9 @@ MonoBehaviour: _replacementMaterial: {fileID: 0} _initialSkinName: Basic _isRandomSkin: 0 + _isRandomRange: 0 _randomRange: {x: 0, y: 0} + _randomStrings: [] --- !u!114 &3359549505901716120 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/05.Prefabs/Props/Furniture/Interactions/BartenderTable.prefab b/Assets/05.Prefabs/Props/Furniture/Interactions/BartenderTable.prefab index 892c7b8a0..75d14d18b 100644 --- a/Assets/05.Prefabs/Props/Furniture/Interactions/BartenderTable.prefab +++ b/Assets/05.Prefabs/Props/Furniture/Interactions/BartenderTable.prefab @@ -107,7 +107,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 6 - m_Sprite: {fileID: 21300000, guid: cda1d961a563b6143a024170ed6f0f44, type: 3} + m_Sprite: {fileID: 21300000, guid: 514247b5965aef447b13b5da95f3281a, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 diff --git a/Assets/05.Prefabs/Props/Furniture/Interactions/CustomerTable3.prefab b/Assets/05.Prefabs/Props/Furniture/Interactions/CustomerTable3.prefab index ca4e66c08..a1090dccd 100644 --- a/Assets/05.Prefabs/Props/Furniture/Interactions/CustomerTable3.prefab +++ b/Assets/05.Prefabs/Props/Furniture/Interactions/CustomerTable3.prefab @@ -53,7 +53,7 @@ MonoBehaviour: k__BackingField: {fileID: 3099553823688037663} k__BackingField: {fileID: 2100000, guid: 9db92b3ac1f276e42ae7d7bcfbbca549, type: 2} k__BackingField: 1 - k__BackingField: 0.7 + k__BackingField: 0.5 k__BackingField: IsOpened: 0 k__BackingField: 0 @@ -63,8 +63,6 @@ MonoBehaviour: k__BackingField: {fileID: 8752266548893034047} TableDirection: {x: -1, y: 0, z: 0} TableNumber: 0 - _foodImage: {fileID: 21300000, guid: 514247b5965aef447b13b5da95f3281a, type: 3} - _dirtyImage: {fileID: 21300000, guid: cda1d961a563b6143a024170ed6f0f44, type: 3} _interactionHoldingTime: 3 --- !u!1 &1352874222752200122 GameObject: @@ -380,7 +378,7 @@ MonoBehaviour: k__BackingField: {fileID: 1675779991655778469} k__BackingField: {fileID: 2100000, guid: 9db92b3ac1f276e42ae7d7bcfbbca549, type: 2} k__BackingField: 1 - k__BackingField: 0.7 + k__BackingField: 0.5 k__BackingField: IsOpened: 0 k__BackingField: 0 @@ -390,8 +388,6 @@ MonoBehaviour: k__BackingField: {fileID: 4724775134085759924} TableDirection: {x: 1, y: 0, z: 0} TableNumber: 0 - _foodImage: {fileID: 21300000, guid: 514247b5965aef447b13b5da95f3281a, type: 3} - _dirtyImage: {fileID: 21300000, guid: cda1d961a563b6143a024170ed6f0f44, type: 3} _interactionHoldingTime: 3 --- !u!1 &6493535781353555306 GameObject: @@ -741,7 +737,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2234961990804426782, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} propertyPath: m_Center.z - value: 0.2 + value: 0.15 objectReference: {fileID: 0} - target: {fileID: 2301048832536013177, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} propertyPath: m_LocalScale.x diff --git a/Assets/05.Prefabs/Props/Furniture/Interactions/ServingTable.prefab b/Assets/05.Prefabs/Props/Furniture/Interactions/ServingTable.prefab index 6882d786f..f386a713c 100644 --- a/Assets/05.Prefabs/Props/Furniture/Interactions/ServingTable.prefab +++ b/Assets/05.Prefabs/Props/Furniture/Interactions/ServingTable.prefab @@ -76,7 +76,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 6 - m_Sprite: {fileID: 21300000, guid: cda1d961a563b6143a024170ed6f0f44, type: 3} + m_Sprite: {fileID: 21300000, guid: 514247b5965aef447b13b5da95f3281a, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 @@ -103,6 +103,10 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 2234961990804426782, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} + propertyPath: m_Center.z + value: 0.2 + objectReference: {fileID: 0} - target: {fileID: 2301048832536013177, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3} propertyPath: m_LocalScale.x value: 1 diff --git a/Assets/08.Spines/Characters/Npcs/Crews/Crew_Crew.mat b/Assets/08.Spines/Characters/Npcs/Crews/Crew_Crew.mat index be78ec497..a24732363 100644 --- a/Assets/08.Spines/Characters/Npcs/Crews/Crew_Crew.mat +++ b/Assets/08.Spines/Characters/Npcs/Crews/Crew_Crew.mat @@ -18,7 +18,7 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 3000 stringTagMap: {} disabledShaderPasses: [] m_LockedProperties: diff --git a/Assets/08.Spines/Characters/Npcs/Crews/Crew_Crew_2.mat b/Assets/08.Spines/Characters/Npcs/Crews/Crew_Crew_2.mat index b1c65e86f..e20ea9b38 100644 --- a/Assets/08.Spines/Characters/Npcs/Crews/Crew_Crew_2.mat +++ b/Assets/08.Spines/Characters/Npcs/Crews/Crew_Crew_2.mat @@ -18,7 +18,7 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 3000 stringTagMap: {} disabledShaderPasses: [] m_LockedProperties: diff --git a/Assets/UltimateCleanGUIPack/Common/Sprites/Icons Colored/Basic/Lock.png.meta b/Assets/UltimateCleanGUIPack/Common/Sprites/Icons Colored/Basic/Lock.png.meta index 681db49c9..f5fc9d692 100644 --- a/Assets/UltimateCleanGUIPack/Common/Sprites/Icons Colored/Basic/Lock.png.meta +++ b/Assets/UltimateCleanGUIPack/Common/Sprites/Icons Colored/Basic/Lock.png.meta @@ -1,9 +1,16 @@ fileFormatVersion: 2 guid: 8ef64d8ac85ff4681987c8b621bef86b +AssetOrigin: + serializedVersion: 1 + productId: 154574 + packageName: Ultimate Clean GUI Pack + packageVersion: 2.1.3 + assetPath: Assets/UltimateCleanGUIPack/Common/Sprites/Icons Colored/Basic/Lock.png + uploadId: 621733 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 11 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -20,9 +27,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -31,9 +41,9 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 + filterMode: 1 + aniso: 1 + mipBias: 0 wrapU: 1 wrapV: 1 wrapW: 1 @@ -43,9 +53,9 @@ TextureImporter: spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 - alignment: 0 + alignment: 7 spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 + spritePixelsToUnits: 256 spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 @@ -54,12 +64,17 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 1 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -69,12 +84,53 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -84,16 +140,11 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 154574 - packageName: Ultimate Clean GUI Pack - packageVersion: 2.1.3 - assetPath: Assets/UltimateCleanGUIPack/Common/Sprites/Icons Colored/Basic/Lock.png - uploadId: 621733 diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index bd624f49a..3e10dcba7 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -140,7 +140,7 @@ PlayerSettings: loadStoreDebugModeEnabled: 0 visionOSBundleVersion: 1.0 tvOSBundleVersion: 1.0 - bundleVersion: 0.3.2.0 + bundleVersion: 0.3.2.5 preloadedAssets: - {fileID: -944628639613478452, guid: 4ed6540e2f7ce234888adf8deff1f241, type: 3} metroInputSource: 0