diff --git a/Assets/_DDD/_Addressables/AI/Customer/Subtree/CustomerDefault.asset b/Assets/_DDD/_Addressables/AI/Customer/Subtree/CustomerDefault.asset index 40e84f88d..cb8b3e3bc 100644 --- a/Assets/_DDD/_Addressables/AI/Customer/Subtree/CustomerDefault.asset +++ b/Assets/_DDD/_Addressables/AI/Customer/Subtree/CustomerDefault.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2fe64a49fbb21f1fbd05ddebda355334a5aef73bf06397fad07f7d5d204cc0d9 -size 67467 +oid sha256:bfe3603b8b9888eea90a7e616293d71236f6e76d4ebd188e5946d2bfd776d368 +size 65042 diff --git a/Assets/_DDD/_Addressables/AI/Customer/Subtree/ExitSubtree.asset b/Assets/_DDD/_Addressables/AI/Customer/Subtree/ExitSubtree.asset index 7db36239c..bafc650b8 100644 --- a/Assets/_DDD/_Addressables/AI/Customer/Subtree/ExitSubtree.asset +++ b/Assets/_DDD/_Addressables/AI/Customer/Subtree/ExitSubtree.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5e351f1463cecafcddf5c1b9d015cbacf88d141811273d7079a022a86750a443 -size 18838 +oid sha256:5e782fc5522fbfec674f7929562ba4c11fab47bd2127565bbdd34b2f04c03430 +size 19437 diff --git a/Assets/_DDD/_Addressables/AI/Customer/Subtree/OrderSubtree.asset b/Assets/_DDD/_Addressables/AI/Customer/Subtree/OrderSubtree.asset index 38908aa26..2ac47c293 100644 --- a/Assets/_DDD/_Addressables/AI/Customer/Subtree/OrderSubtree.asset +++ b/Assets/_DDD/_Addressables/AI/Customer/Subtree/OrderSubtree.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:202ad7081128e8607b69e2698acfbaf2ef9ea1adf22f382fb4c19b0f6f623f72 -size 23569 +oid sha256:4f82a3dbdd83f4e734f80d579a1d1954369923873b4e913be7d60584399a4b2e +size 22167 diff --git a/Assets/_DDD/_Addressables/Prefabs/CustomerNpc.prefab b/Assets/_DDD/_Addressables/Prefabs/CustomerNpc.prefab index c08f7476d..adc30e004 100644 --- a/Assets/_DDD/_Addressables/Prefabs/CustomerNpc.prefab +++ b/Assets/_DDD/_Addressables/Prefabs/CustomerNpc.prefab @@ -94,7 +94,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 0, b: 0, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 0 @@ -245,7 +245,7 @@ MonoBehaviour: m_SelectOnRight: {fileID: 0} m_Transition: 1 m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_NormalColor: {r: 1, g: 0, b: 0, a: 1} m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} @@ -2372,13 +2372,16 @@ MonoBehaviour: Assembly-CSharp]], System.Core - Name: Entry: 12 + Data: 3 + - Name: + Entry: 3 Data: 2 - Name: Entry: 3 Data: 4 - Name: Entry: 3 - Data: 2 + Data: 16 - Name: Entry: 13 Data: diff --git a/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/CheckLine.png.meta b/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/CheckLine.png.meta index d95754f39..e629f38f2 100644 --- a/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/CheckLine.png.meta +++ b/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/CheckLine.png.meta @@ -43,7 +43,7 @@ TextureImporter: nPOTScale: 0 lightmap: 0 compressionQuality: 50 - spriteMode: 2 + spriteMode: 1 spriteExtrude: 2 spriteMeshType: 0 alignment: 0 diff --git a/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/CookwareDetailPanel.png.meta b/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/CookwareDetailPanel.png.meta index cce2edf34..bf2127205 100644 --- a/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/CookwareDetailPanel.png.meta +++ b/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/CookwareDetailPanel.png.meta @@ -43,7 +43,7 @@ TextureImporter: nPOTScale: 0 lightmap: 0 compressionQuality: 50 - spriteMode: 2 + spriteMode: 1 spriteExtrude: 2 spriteMeshType: 0 alignment: 0 diff --git a/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/IngredientDetailPanel.png.meta b/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/IngredientDetailPanel.png.meta index e4d0aad09..385b96965 100644 --- a/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/IngredientDetailPanel.png.meta +++ b/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/IngredientDetailPanel.png.meta @@ -43,7 +43,7 @@ TextureImporter: nPOTScale: 0 lightmap: 0 compressionQuality: 50 - spriteMode: 2 + spriteMode: 1 spriteExtrude: 2 spriteMeshType: 0 alignment: 0 diff --git a/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/RecipeDetailPanel.png.meta b/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/RecipeDetailPanel.png.meta index 95f234d57..90a660eed 100644 --- a/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/RecipeDetailPanel.png.meta +++ b/Assets/_DDD/_Raw/Sprites/Ui/RestaurantManagementUi/RecipeDetailPanel.png.meta @@ -43,7 +43,7 @@ TextureImporter: nPOTScale: 0 lightmap: 0 compressionQuality: 50 - spriteMode: 2 + spriteMode: 1 spriteExtrude: 2 spriteMeshType: 0 alignment: 0 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/LevelDataAsset.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/LevelDataAsset.cs index cd57091b7..5be318346 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/LevelDataAsset.cs +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/LevelDataAsset.cs @@ -1,8 +1,17 @@ // + +using System.Linq; using UnityEngine; namespace DDD { [CreateAssetMenu(fileName = "LevelDataAsset", menuName = "GoogleSheet/LevelDataAsset")] - public class LevelDataAsset : DataAsset { } + public class LevelDataAsset : DataAsset + { + public LevelDataEntry GetLevelDataEntryByLevel() + { + var currentLevel = GameState.Instance.LevelState.Level; + return _datas.Where(x => x.Level == currentLevel).FirstOrDefault(); + } + } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/Restaurant/Character/AI/Common/Actions/ExpressEmotion.cs b/Assets/_DDD/_Scripts/Restaurant/Character/AI/Common/Actions/ExpressEmotion.cs index d14f39cf4..d7fb3eb02 100644 --- a/Assets/_DDD/_Scripts/Restaurant/Character/AI/Common/Actions/ExpressEmotion.cs +++ b/Assets/_DDD/_Scripts/Restaurant/Character/AI/Common/Actions/ExpressEmotion.cs @@ -23,7 +23,6 @@ public interface IEmotionVisual //이를 파생해서 기본값을 주거나, 바로 사용하면 될 듯 [SerializeField] protected T _emotionBlackboardKey; - private IEmotionVisual _emotionVisual; public override void OnStart() @@ -46,6 +45,11 @@ public override void OnStart() _emotionVisual.ShowEmotion(currentEmotion); } + + public override TaskStatus OnUpdate() + { + return TaskStatus.Success; + } public override void OnEnd() { diff --git a/Assets/_DDD/_Scripts/Restaurant/Character/AI/Common/Actions/ReturnRunning.cs b/Assets/_DDD/_Scripts/Restaurant/Character/AI/Common/Actions/ReturnRunning.cs new file mode 100644 index 000000000..53a5d9c0a --- /dev/null +++ b/Assets/_DDD/_Scripts/Restaurant/Character/AI/Common/Actions/ReturnRunning.cs @@ -0,0 +1,13 @@ +using Opsive.BehaviorDesigner.Runtime.Tasks; +using Opsive.BehaviorDesigner.Runtime.Tasks.Actions; + +namespace DDD.Restaurant +{ + public class ReturnRunning : Action + { + public override TaskStatus OnUpdate() + { + return TaskStatus.Running; + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/Restaurant/Character/AI/Common/Actions/ReturnRunning.cs.meta b/Assets/_DDD/_Scripts/Restaurant/Character/AI/Common/Actions/ReturnRunning.cs.meta new file mode 100644 index 000000000..d07062be9 --- /dev/null +++ b/Assets/_DDD/_Scripts/Restaurant/Character/AI/Common/Actions/ReturnRunning.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a74d335850254c098cac2ab9a275a32b +timeCreated: 1756721079 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/Restaurant/Character/AI/Customer/Actions/SatisfactionEvaluator.cs b/Assets/_DDD/_Scripts/Restaurant/Character/AI/Customer/Actions/SatisfactionEvaluator.cs index 81b2e6abc..975466b88 100644 --- a/Assets/_DDD/_Scripts/Restaurant/Character/AI/Customer/Actions/SatisfactionEvaluator.cs +++ b/Assets/_DDD/_Scripts/Restaurant/Character/AI/Customer/Actions/SatisfactionEvaluator.cs @@ -16,6 +16,7 @@ public class SatisfactionEvaluator : Action { [SerializeField] private RestaurantCustomerBlackboardKey _satisfactionBlackboardKey; [SerializeField] private EvaluationStep _evaluationStep; + [SerializeField] private EmotionType _satisfactionType; public override void OnStart() { var currentSatisfaction = CalculateSatisfaction(); @@ -26,7 +27,7 @@ public override void OnStart() //TODO 만족도 계산? private EmotionType CalculateSatisfaction() { - return EmotionType.Satisfied; + return _satisfactionType; } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/Restaurant/Environment/Interactions/InteractionSubsystem_Order.cs b/Assets/_DDD/_Scripts/Restaurant/Environment/Interactions/InteractionSubsystem_Order.cs index c13f8a912..2137531cb 100644 --- a/Assets/_DDD/_Scripts/Restaurant/Environment/Interactions/InteractionSubsystem_Order.cs +++ b/Assets/_DDD/_Scripts/Restaurant/Environment/Interactions/InteractionSubsystem_Order.cs @@ -10,8 +10,9 @@ public enum RestaurantOrderType : uint Reserved = 1u, Order = 1u << 1, Serve = 1u << 2, - Busy = 1u << 3, - Dirty = 1u << 4, + Reaction = 1u << 3, + Busy = 1u << 4, + Dirty = 1u << 5, } public class RestaurantOrderObjectState @@ -113,7 +114,8 @@ private RestaurantOrderType GetNextState(RestaurantOrderType state) case RestaurantOrderType.Wait: return RestaurantOrderType.Reserved; case RestaurantOrderType.Reserved: return RestaurantOrderType.Order; case RestaurantOrderType.Order: return RestaurantOrderType.Serve; - case RestaurantOrderType.Serve: return RestaurantOrderType.Busy; + case RestaurantOrderType.Serve: return RestaurantOrderType.Reaction; + case RestaurantOrderType.Reaction: return RestaurantOrderType.Busy; case RestaurantOrderType.Busy: return RestaurantOrderType.Dirty; case RestaurantOrderType.Dirty: return RestaurantOrderType.Wait; default: return RestaurantOrderType.Wait; diff --git a/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantOrders/RestaurantOrderSolver.cs b/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantOrders/RestaurantOrderSolver.cs index b752ebdda..6e63ebe99 100644 --- a/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantOrders/RestaurantOrderSolver.cs +++ b/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantOrders/RestaurantOrderSolver.cs @@ -10,6 +10,7 @@ public class RestaurantOrderSolver : RestaurantSubsystemSolver GetSubsystemSolverTypeMappings() diff --git a/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantOrders/RestaurantOrderSolver_Reaction.cs b/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantOrders/RestaurantOrderSolver_Reaction.cs new file mode 100644 index 000000000..9bd707bbf --- /dev/null +++ b/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantOrders/RestaurantOrderSolver_Reaction.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace DDD.Restaurant +{ + public class RestaurantOrderSolver_Reaction : RestaurantOrderSolverBase + { + public override bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null, + ScriptableObject payload = null) + { + return true; + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantOrders/RestaurantOrderSolver_Reaction.cs.meta b/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantOrders/RestaurantOrderSolver_Reaction.cs.meta new file mode 100644 index 000000000..c3ff692af --- /dev/null +++ b/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantOrders/RestaurantOrderSolver_Reaction.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0b6c08c28584491d8f6895542d4a9327 +timeCreated: 1756723014 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/Restaurant/Ui/OrderUi/CustomerPatienceUiComponent.cs b/Assets/_DDD/_Scripts/Restaurant/Ui/OrderUi/CustomerPatienceUiComponent.cs index 8c793b571..b9f5ef44a 100644 --- a/Assets/_DDD/_Scripts/Restaurant/Ui/OrderUi/CustomerPatienceUiComponent.cs +++ b/Assets/_DDD/_Scripts/Restaurant/Ui/OrderUi/CustomerPatienceUiComponent.cs @@ -88,6 +88,9 @@ private void SetPatience() _prevOrderType = _currentOrderType; _patienceSlider.maxValue = _blackboard.GetBlackboardValue(RestaurantCustomerBlackboardKey.MaxPatienceTime); _patienceSlider.value = _patienceSlider.maxValue; + ColorBlock colors = _patienceSlider.colors; + colors.normalColor = _currentOrderType == RestaurantOrderType.Busy ? Color.green : Color.red; + _patienceSlider.colors = colors; _patienceSlider.gameObject.SetActive(true); } }