diff --git a/Assets/_DDD/_Scripts/Game/GameEvent/IInteractable.cs b/Assets/_DDD/_Scripts/Game/GameEvent/IInteractable.cs index 72831c1fd..3323e5a7c 100644 --- a/Assets/_DDD/_Scripts/Game/GameEvent/IInteractable.cs +++ b/Assets/_DDD/_Scripts/Game/GameEvent/IInteractable.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using UnityEngine; +using UnityEngine.Serialization; namespace DDD { @@ -28,11 +29,12 @@ public InteractionExecutionParameters(float holdTime = 0f) [System.Serializable] public struct InteractionDisplayParameters { - [SerializeField] private string _messageKey; - public string MessageKey => _messageKey; - public InteractionDisplayParameters(string messageKey = "") + [field: SerializeField] public string SuccessMessageKey { get; private set; } + [field: SerializeField] public string FailureMessageKey { get; private set; } + public InteractionDisplayParameters(string successMessageKey = "", string failureMessageKey = "") { - _messageKey = messageKey; + SuccessMessageKey = successMessageKey; + FailureMessageKey = failureMessageKey; } } diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/InteractionDataAsset.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/InteractionDataAsset.cs new file mode 100644 index 000000000..16f3f02c7 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/InteractionDataAsset.cs @@ -0,0 +1,24 @@ +// File: CookwareDataAsset.cs +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace DDD +{ + [CreateAssetMenu(fileName = "InteractionDataAsset", menuName = "GoogleSheet/InteractionDataAsset")] + public class InteractionDataAsset : DataAsset + { + public void InteractionTypeParsing(string unparsedInteractionType) + { + var split = unparsedInteractionType.Split('.'); + var interactionType = split[0]; + var interactionSubsystemType = split[1]; + + if (string.IsNullOrWhiteSpace(interactionType) || string.IsNullOrWhiteSpace(interactionSubsystemType)) + { + Debug.LogError($"{unparsedInteractionType} 파싱 오류"); + return; + } + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/InteractionDataAsset.cs.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/InteractionDataAsset.cs.meta new file mode 100644 index 000000000..5bc68af43 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/InteractionDataAsset.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a2a6159df6eba7442846f45c30f98c4f diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/InteractionDataEntry.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/InteractionDataEntry.cs new file mode 100644 index 000000000..8107665f3 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/InteractionDataEntry.cs @@ -0,0 +1,30 @@ +// +using System; +using UnityEngine; + +namespace DDD +{ + [Serializable] + public class InteractionDataEntry : IId + { + /// 식별ID + [Tooltip("식별ID")] + [field: SerializeField] + public string Id { get; set; } + + /// 파싱 전 타입 + [Tooltip("파싱 전 타입")] + [field: SerializeField] + public string UnparsedInteractionType; + + /// 상호작용 성공 현지화 키 값 + [Tooltip("상호작용 성공 현지화 키 값")] + [field: SerializeField] + public string SuccessMessageKey; + + /// 상호작용 실패 현지화 키 값 + [Tooltip("상호작용 실패 현지화 키 값")] + [field: SerializeField] + public string FailureMessageKey; + } +} diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/InteractionDataEntry.cs.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/InteractionDataEntry.cs.meta new file mode 100644 index 000000000..137c5cc36 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/InteractionDataEntry.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 91a858d70636bb9418edbee22449d147 diff --git a/Assets/_DDD/_Scripts/Restaurant/Character/Player/PlayerInteraction.cs b/Assets/_DDD/_Scripts/Restaurant/Character/Player/PlayerInteraction.cs index 21832e1ea..ca3bb391b 100644 --- a/Assets/_DDD/_Scripts/Restaurant/Character/Player/PlayerInteraction.cs +++ b/Assets/_DDD/_Scripts/Restaurant/Character/Player/PlayerInteraction.cs @@ -154,7 +154,7 @@ private void BroadcastShowUi(IInteractable interactable, bool canInteract, float { var evt = GameEvents.ShowInteractionUiEvent; evt.CanInteract = canInteract; - evt.TextKey = interactable.GetDisplayParameters().MessageKey; + evt.TextKey = interactable.GetDisplayParameters().SuccessMessageKey; evt.HoldProgress = ratio; EventBus.Broadcast(evt); } diff --git a/Assets/_DDD/_Scripts/Restaurant/Environment/Interactions/InteractionSubsystem_Management.cs b/Assets/_DDD/_Scripts/Restaurant/Environment/Interactions/InteractionSubsystem_Management.cs index 0bab205bb..f96e57e14 100644 --- a/Assets/_DDD/_Scripts/Restaurant/Environment/Interactions/InteractionSubsystem_Management.cs +++ b/Assets/_DDD/_Scripts/Restaurant/Environment/Interactions/InteractionSubsystem_Management.cs @@ -6,13 +6,13 @@ namespace DDD [Flags] public enum RestaurantManagementType : uint { - OpenRestaurantMenu = 0, - StartRestaurant = 1, + OpenManagementUi = 0, + RunRestaurant = 1, } public class InteractionSubsystem_Management : MonoBehaviour, IInteractionSubsystemObject { - [SerializeField] protected RestaurantManagementType _managementType = RestaurantManagementType.OpenRestaurantMenu; + [SerializeField] protected RestaurantManagementType _managementType = RestaurantManagementType.OpenManagementUi; public RestaurantManagementType GetInteractionSubsystemType() { diff --git a/Assets/_DDD/_Scripts/Restaurant/Event/RestaurantInteractionComponent.cs b/Assets/_DDD/_Scripts/Restaurant/Event/RestaurantInteractionComponent.cs index 422daa866..b0d08a9c3 100644 --- a/Assets/_DDD/_Scripts/Restaurant/Event/RestaurantInteractionComponent.cs +++ b/Assets/_DDD/_Scripts/Restaurant/Event/RestaurantInteractionComponent.cs @@ -11,8 +11,9 @@ public static class RestaurantInteractionSubsystems { public static Dictionary TypeToSubsystem = new() { - {InteractionType.RestaurantOrder, typeof(InteractionSubsystem_Order)}, {InteractionType.RestaurantManagement, typeof(InteractionSubsystem_Management)}, + {InteractionType.RestaurantOrder, typeof(InteractionSubsystem_Order)}, + {InteractionType.RestaurantCook, typeof(InteractionSubsystem_Cook)}, }; } @@ -95,6 +96,7 @@ public virtual void InitializeInteraction(InteractionType interactionType) _isInitialized = true; InitializeSubsystems(); + } private void InitializeSubsystems() @@ -133,6 +135,11 @@ public virtual InteractionExecutionParameters GetExecutionParameters() return _executionParameters; } + private void SetDisplayParameters() + { + + } + public virtual InteractionDisplayParameters GetDisplayParameters() { return _displayParameters; @@ -146,7 +153,7 @@ public float GetRequiredHoldTime() public string GetInteractionMessageKey() { - return _displayParameters.MessageKey; + return _displayParameters.SuccessMessageKey; } public Vector3[] GetInteractionPoints() diff --git a/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantManagements/RestaurantManagementSolver.cs b/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantManagements/RestaurantManagementSolver.cs index 1d0137d14..0ec56baad 100644 --- a/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantManagements/RestaurantManagementSolver.cs +++ b/Assets/_DDD/_Scripts/Restaurant/Event/Solvers/RestaurantManagements/RestaurantManagementSolver.cs @@ -8,8 +8,8 @@ public class RestaurantManagementSolver : RestaurantSubsystemSolver _typeToManagementSolver = new() { - { RestaurantManagementType.OpenRestaurantMenu, typeof(RestaurantManagementSolver_Menu) }, - { RestaurantManagementType.StartRestaurant, typeof(RestaurantManagementSolver_Start) }, + { RestaurantManagementType.OpenManagementUi, typeof(RestaurantManagementSolver_Menu) }, + { RestaurantManagementType.RunRestaurant, typeof(RestaurantManagementSolver_Start) }, }; protected override Dictionary GetSubsystemSolverTypeMappings() {