From 10dbd0dc6203c06b9c56c1260811687ead70babe Mon Sep 17 00:00:00 2001 From: NTG_Lenovo Date: Tue, 22 Jul 2025 13:09:38 +0900 Subject: [PATCH 1/4] =?UTF-8?q?screenUi=20->=20popupUi=20=ED=86=B5?= =?UTF-8?q?=ED=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/_DDD/_Scripts/GameEvent/GameEvents.cs | 12 --- Assets/_DDD/_Scripts/GameUi/UiManager.cs | 77 +------------------- 2 files changed, 2 insertions(+), 87 deletions(-) diff --git a/Assets/_DDD/_Scripts/GameEvent/GameEvents.cs b/Assets/_DDD/_Scripts/GameEvent/GameEvents.cs index 61be50474..cafd583ee 100644 --- a/Assets/_DDD/_Scripts/GameEvent/GameEvents.cs +++ b/Assets/_DDD/_Scripts/GameEvent/GameEvents.cs @@ -9,8 +9,6 @@ public static class GameEvents public static TimeScaleChangeEvent RequestTimeScaleChangeEvent = new(); public static FadeInEvent FadeInEvent = new(); public static FadeOutEvent FadeOutEvent = new(); - public static OpenScreenUiEvent OpenScreenUiEvent = new(); - public static CloseScreenUiEvent CloseScreenUiEvent = new(); public static OpenPopupUiEvent OpenPopupUiEvent = new(); public static ClosePopupUiEvent ClosePopupUiEvent = new(); public static ShowGlobalMessageEvent RequestShowGlobalMessageEvent = new(); @@ -56,16 +54,6 @@ public class ShowGlobalMessageEvent : IEvent public float ShowDuration; public float FadeDuration; } - - public class OpenScreenUiEvent : IEvent - { - public Type UiType; - } - - public class CloseScreenUiEvent : IEvent - { - public Type UiType; - } public class OpenPopupUiEvent : IEvent { diff --git a/Assets/_DDD/_Scripts/GameUi/UiManager.cs b/Assets/_DDD/_Scripts/GameUi/UiManager.cs index 387d1d247..eaeccd36b 100644 --- a/Assets/_DDD/_Scripts/GameUi/UiManager.cs +++ b/Assets/_DDD/_Scripts/GameUi/UiManager.cs @@ -4,18 +4,14 @@ namespace DDD { - public class UiManager : Singleton, IManager, IEventHandler, IEventHandler, - IEventHandler, IEventHandler + public class UiManager : Singleton, IManager, IEventHandler, IEventHandler { - private readonly Dictionary _screenUIs = new(); private readonly Dictionary _popupUIs = new(); private readonly object _uiPauseRequester = new(); public void PreInit() { - EventBus.Register(this); - EventBus.Register(this); EventBus.Register(this); EventBus.Register(this); } @@ -32,27 +28,10 @@ public void PostInit() private void OnDestroy() { - EventBus.Unregister(this); - EventBus.Unregister(this); EventBus.Unregister(this); EventBus.Unregister(this); } - public void RegisterScreenUI(ScreenUi ui) - { - var type = ui.GetType(); - _screenUIs.TryAdd(type, ui); - } - - public void UnregisterScreenUI(ScreenUi ui) - { - var type = ui.GetType(); - if (_screenUIs.TryGetValue(type, out var value) && value == ui) - { - _screenUIs.Remove(type); - } - } - public void RegisterPopupUI(PopupUi ui) { var type = ui.GetType(); @@ -68,58 +47,6 @@ public void UnregisterPopupUI(PopupUi ui) } } - private void CloseAllScreenUIs() - { - foreach (var screen in _screenUIs.Values) - { - if (screen.IsOpen) - { - screen.Close(); - - if (screen.IsBlockingTime) - { - var timeScaleChangeEvent = GameEvents.RequestTimeScaleChangeEvent; - timeScaleChangeEvent.Requester = _uiPauseRequester; - timeScaleChangeEvent.NewTimeScale = 1f; - EventBus.Broadcast(timeScaleChangeEvent); - } - } - } - } - - public void Invoke(OpenScreenUiEvent evt) - { - if (_screenUIs.TryGetValue(evt.UiType, out var screen)) - { - CloseAllScreenUIs(); - screen.Open(); - - if (screen.IsBlockingTime) - { - var timeScaleChangeEvent = GameEvents.RequestTimeScaleChangeEvent; - timeScaleChangeEvent.Requester = screen; - timeScaleChangeEvent.NewTimeScale = 0f; - EventBus.Broadcast(timeScaleChangeEvent); - } - } - } - - public void Invoke(CloseScreenUiEvent evt) - { - if (_screenUIs.TryGetValue(evt.UiType, out var screen)) - { - screen.Close(); - - if (screen.IsBlockingTime) - { - var timeScaleChangeEvent = GameEvents.RequestTimeScaleChangeEvent; - timeScaleChangeEvent.Requester = screen; - timeScaleChangeEvent.NewTimeScale = 1f; - EventBus.Broadcast(timeScaleChangeEvent); - } - } - } - public void Invoke(OpenPopupUiEvent evt) { if (_popupUIs.TryGetValue(evt.UiType, out var popup)) @@ -138,7 +65,7 @@ public void Invoke(OpenPopupUiEvent evt) public void Invoke(ClosePopupUiEvent evt) { - if (_screenUIs.TryGetValue(evt.UiType, out var popup)) + if (_popupUIs.TryGetValue(evt.UiType, out var popup)) { popup.Close(); -- 2.45.2 From 4d9fd78c3a9d45b1e11f6550495f9d2786882200 Mon Sep 17 00:00:00 2001 From: NTG_Lenovo Date: Tue, 22 Jul 2025 16:46:07 +0900 Subject: [PATCH 2/4] =?UTF-8?q?FadeUi=20=EC=9D=B4=EB=B2=A4=ED=8A=B8=20?= =?UTF-8?q?=EC=88=9C=EC=84=9C=20=EC=98=A4=EB=A5=98=20=EB=B0=8F=20=EB=8F=99?= =?UTF-8?q?=EC=A0=81=20=ED=95=A0=EB=8B=B9=20=EC=98=A4=EB=A5=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/_DDD/_Scripts/GameEvent/GameEvents.cs | 4 ++-- Assets/_DDD/_Scripts/GameUi/FadeUi.cs | 19 +++++++++++-------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/Assets/_DDD/_Scripts/GameEvent/GameEvents.cs b/Assets/_DDD/_Scripts/GameEvent/GameEvents.cs index cafd583ee..bf7a57eff 100644 --- a/Assets/_DDD/_Scripts/GameEvent/GameEvents.cs +++ b/Assets/_DDD/_Scripts/GameEvent/GameEvents.cs @@ -35,7 +35,7 @@ public class TimeScaleChangeEvent : IEvent public class FadeInEvent : IEvent { public float Duration; - public TaskCompletionSource CompletionSource; + public TaskCompletionSource CompletionSource = new(); public Task WaitAsync() => CompletionSource.Task; } @@ -43,7 +43,7 @@ public class FadeInEvent : IEvent public class FadeOutEvent : IEvent { public float Duration; - public TaskCompletionSource CompletionSource; + public TaskCompletionSource CompletionSource = new(); public Task WaitAsync() => CompletionSource.Task; } diff --git a/Assets/_DDD/_Scripts/GameUi/FadeUi.cs b/Assets/_DDD/_Scripts/GameUi/FadeUi.cs index 4469828d9..7f332230f 100644 --- a/Assets/_DDD/_Scripts/GameUi/FadeUi.cs +++ b/Assets/_DDD/_Scripts/GameUi/FadeUi.cs @@ -6,19 +6,24 @@ namespace DDD public class FadeUi : MonoBehaviour, IEventHandler, IEventHandler { private CanvasGroup _canvasGroup; + private GameObject _panel; private void Awake() { _canvasGroup = GetComponent(); + _panel = transform.Find(CommonConstants.Panel).gameObject; _canvasGroup.alpha = 0f; - _canvasGroup.gameObject.SetActive(false); - + _panel.SetActive(false); + } + + private void OnEnable() + { EventBus.Register(this); EventBus.Register(this); } - private void OnDestroy() + private void OnDisable() { EventBus.Unregister(this); EventBus.Unregister(this); @@ -29,17 +34,15 @@ public async void Invoke(FadeInEvent evt) await _canvasGroup.DOFade(0f, evt.Duration) .SetUpdate(true) .AsyncWaitForCompletion(); - - _canvasGroup.blocksRaycasts = false; - _canvasGroup.gameObject.SetActive(false); + + _panel.SetActive(false); evt.CompletionSource.SetResult(true); } public async void Invoke(FadeOutEvent evt) { - _canvasGroup.gameObject.SetActive(true); - _canvasGroup.blocksRaycasts = true; + _panel.SetActive(true); await _canvasGroup.DOFade(1f, evt.Duration) .SetUpdate(true) -- 2.45.2 From aae35a35637f62a06a73d773df46765653b09d9e Mon Sep 17 00:00:00 2001 From: NTG_Lenovo Date: Tue, 22 Jul 2025 16:46:37 +0900 Subject: [PATCH 3/4] =?UTF-8?q?Ui=20=EC=8B=9C=EC=8A=A4=ED=85=9C=20?= =?UTF-8?q?=EA=B5=AC=EC=A1=B0=20=EA=B0=95=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/_DDD/_Scripts/GameUi/BaseUi.cs | 10 +- .../_DDD/_Scripts/GameUi/GlobalMessageUi.cs | 13 +- Assets/_DDD/_Scripts/GameUi/PopupUi.cs | 71 ++++++ Assets/_DDD/_Scripts/GameUi/UiManager.cs | 84 +++++- .../_DDD/_Scripts/InputSystem/InputManager.cs | 240 +++--------------- .../_Scripts/InputSystem/UiActionBinding.cs | 12 + .../_Scripts/InputSystem/UiInputBindingSo.cs | 12 + .../RestaurantController.cs | 1 + Assets/_DDD/_Scripts/Utilities/Constants.cs | 2 + 9 files changed, 219 insertions(+), 226 deletions(-) create mode 100644 Assets/_DDD/_Scripts/InputSystem/UiActionBinding.cs create mode 100644 Assets/_DDD/_Scripts/InputSystem/UiInputBindingSo.cs diff --git a/Assets/_DDD/_Scripts/GameUi/BaseUi.cs b/Assets/_DDD/_Scripts/GameUi/BaseUi.cs index da48fc1dd..33de6cac5 100644 --- a/Assets/_DDD/_Scripts/GameUi/BaseUi.cs +++ b/Assets/_DDD/_Scripts/GameUi/BaseUi.cs @@ -4,8 +4,14 @@ namespace DDD { public abstract class BaseUi : MonoBehaviour { + protected GameObject _panel; public virtual bool IsBlockingTime => false; public virtual bool IsOpen => gameObject.activeSelf; + + protected virtual void Awake() + { + _panel = transform.Find(CommonConstants.Panel).gameObject; + } protected virtual void Start() { @@ -20,7 +26,7 @@ protected virtual void OnDestroy() protected virtual void TryRegister() { } protected virtual void TryUnregister() { } - public virtual void Open() => gameObject.SetActive(true); - public virtual void Close() => gameObject.SetActive(false); + public virtual void Open() => _panel.SetActive(true); + public virtual void Close() => _panel.SetActive(false); } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GameUi/GlobalMessageUi.cs b/Assets/_DDD/_Scripts/GameUi/GlobalMessageUi.cs index 7d08b9621..da527157a 100644 --- a/Assets/_DDD/_Scripts/GameUi/GlobalMessageUi.cs +++ b/Assets/_DDD/_Scripts/GameUi/GlobalMessageUi.cs @@ -14,20 +14,27 @@ public class GlobalMessageUi : BaseUi, IEventHandler private readonly Queue _messageQueue = new(); private bool _isDisplayingMessage = false; - private void Awake() + protected override void Awake() { + base.Awake(); + _canvasGroup = GetComponent(); _messageText = GetComponentInChildren(); _canvasGroup.alpha = 0; _messageText.text = null; + } + + protected override void TryRegister() + { + base.TryRegister(); EventBus.Register(this); } - protected override void OnDestroy() + protected override void TryUnregister() { - base.OnDestroy(); + base.TryUnregister(); EventBus.Unregister(this); _fadeTween?.Kill(); diff --git a/Assets/_DDD/_Scripts/GameUi/PopupUi.cs b/Assets/_DDD/_Scripts/GameUi/PopupUi.cs index 830988d16..a8a976c06 100644 --- a/Assets/_DDD/_Scripts/GameUi/PopupUi.cs +++ b/Assets/_DDD/_Scripts/GameUi/PopupUi.cs @@ -1,7 +1,78 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.InputSystem; + namespace DDD { public class PopupUi : BaseUi { + protected UiInputBindingSo _uiInputBindingSo; + protected readonly List<(InputAction action, Action handler)> _registeredHandlers = new(); + protected override async void TryRegister() + { + base.TryRegister(); + UiManager.Instance.RegisterPopupUI(this); + + // So의 이름을 통일 : TestUi_UiInputBindingSo + string addressableKey = $"{GetType().Name}_{DataConstants.UiInputBindingSo}"; + _uiInputBindingSo = await AssetManager.LoadAsset(addressableKey); + Debug.Assert(_uiInputBindingSo != null, "_uiInputBindingSo != null"); + + foreach (var binding in _uiInputBindingSo.Bindings) + { + if (binding.InputAction == null) continue; + + var action = binding.InputAction.action; + if (action == null) continue; + + var handler = new Action(ctx => + { + if (UiManager.Instance.IsTopPopup(this)) + { + OnInputPerformed(binding.ActionName, ctx); + } + }); + + action.Enable(); + action.performed += handler; + + _registeredHandlers.Add((action, handler)); + } + } + + protected override void TryUnregister() + { + base.TryUnregister(); + UiManager.Instance.UnregisterPopupUI(this); + + foreach (var (action, handler) in _registeredHandlers) + { + if (action != null) + { + action.performed -= handler; + action.Disable(); + } + } + + _registeredHandlers.Clear(); + } + + public override void Open() + { + base.Open(); + + transform.SetAsLastSibling(); + + if (UiManager.Instance.IsTopPopup(this)) + { + InputManager.Instance.SwitchCurrentActionMap(_uiInputBindingSo.InputActionMaps); + } + } + + protected virtual void OnInputPerformed(string actionName, InputAction.CallbackContext ctx) { } + + public InputActionMaps GetInputActionMaps() => _uiInputBindingSo.InputActionMaps; } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GameUi/UiManager.cs b/Assets/_DDD/_Scripts/GameUi/UiManager.cs index eaeccd36b..4e0eaf487 100644 --- a/Assets/_DDD/_Scripts/GameUi/UiManager.cs +++ b/Assets/_DDD/_Scripts/GameUi/UiManager.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; namespace DDD @@ -7,6 +8,8 @@ namespace DDD public class UiManager : Singleton, IManager, IEventHandler, IEventHandler { private readonly Dictionary _popupUIs = new(); + private readonly Stack _popupStack = new(); + private InputActionMaps _previousActionMap = InputActionMaps.None; private readonly object _uiPauseRequester = new(); @@ -51,14 +54,18 @@ public void Invoke(OpenPopupUiEvent evt) { if (_popupUIs.TryGetValue(evt.UiType, out var popup)) { - popup.Open(); - - if (popup.IsBlockingTime) + if (!popup.IsOpen) { - var timeScaleChangeEvent = GameEvents.RequestTimeScaleChangeEvent; - timeScaleChangeEvent.Requester = popup; - timeScaleChangeEvent.NewTimeScale = 0f; - EventBus.Broadcast(timeScaleChangeEvent); + popup.Open(); + PushPopup(popup); + + if (popup.IsBlockingTime) + { + var timeScaleChangeEvent = GameEvents.RequestTimeScaleChangeEvent; + timeScaleChangeEvent.Requester = popup; + timeScaleChangeEvent.NewTimeScale = 0f; + EventBus.Broadcast(timeScaleChangeEvent); + } } } } @@ -67,16 +74,65 @@ public void Invoke(ClosePopupUiEvent evt) { if (_popupUIs.TryGetValue(evt.UiType, out var popup)) { - popup.Close(); - - if (popup.IsBlockingTime) + if (popup.IsOpen) { - var timeScaleChangeEvent = GameEvents.RequestTimeScaleChangeEvent; - timeScaleChangeEvent.Requester = popup; - timeScaleChangeEvent.NewTimeScale = 1f; - EventBus.Broadcast(timeScaleChangeEvent); + popup.Close(); + PopPopup(popup); + + if (popup.IsBlockingTime) + { + var timeScaleChangeEvent = GameEvents.RequestTimeScaleChangeEvent; + timeScaleChangeEvent.Requester = popup; + timeScaleChangeEvent.NewTimeScale = 1f; + EventBus.Broadcast(timeScaleChangeEvent); + } } } } + + public bool IsTopPopup(PopupUi popup) + { + return _popupStack.Count > 0 && _popupStack.Peek() == popup; + } + + public void PushPopup(PopupUi popup) + { + if (_popupStack.Contains(popup)) return; + + if (_popupStack.Count == 0) + { + _previousActionMap = InputManager.Instance.GetCurrentActionMap(); + } + + _popupStack.Push(popup); + } + + public void PopPopup(PopupUi popup) + { + if (_popupStack.Count == 0) return; + + if (_popupStack.Peek() == popup) + { + _popupStack.Pop(); + } + else + { + var temp = _popupStack.Reverse().Where(p => p != popup).Reverse().ToList(); + _popupStack.Clear(); + foreach (var p in temp) + { + _popupStack.Push(p); + } + } + + if (_popupStack.TryPeek(out var topPopup) && topPopup.IsOpen) + { + InputManager.Instance.SwitchCurrentActionMap(topPopup.GetInputActionMaps()); + } + else + { + InputManager.Instance.SwitchCurrentActionMap(_previousActionMap); + } + } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/InputSystem/InputManager.cs b/Assets/_DDD/_Scripts/InputSystem/InputManager.cs index c39d3a2df..73924ae98 100644 --- a/Assets/_DDD/_Scripts/InputSystem/InputManager.cs +++ b/Assets/_DDD/_Scripts/InputSystem/InputManager.cs @@ -1,50 +1,44 @@ using System; +using System.Threading.Tasks; using UnityEngine; using UnityEngine.InputSystem; namespace DDD { + public static class InputActionMapExtensions + { + public static string ToName(this InputActionMaps map) + { + return map.ToString(); + } + } + public enum InputActionMaps { None = 0, Ui = 1, Restaurant = 2, - } - - [Flags] - public enum RestaurantActions - { - None = 0, - Move = 1<<0, - Dash = 1<<1, - Interact = 1<<2 + RestaurantUi = 3 } - public class InputManager : Singleton + public class InputManager : Singleton, IManager { private PlayerInput _currentPlayerInput; - - protected override void OnAwake() + + public void PreInit() { - base.OnAwake(); - _currentPlayerInput = GetComponent(); } - - // public void ChangeScene(SceneType sceneType) - // { - // switch (sceneType) - // { - // case SceneType.Title: - // SwitchCurrentActionMap(InputActionMaps.Ui); - // break; - // case SceneType.Restaurant: - // SwitchCurrentActionMap(InputActionMaps.Restaurant); - // break; - // default: - // throw new System.Exception("Invalid scene name"); - // } - // } + + public Task Init() + { + return Task.CompletedTask; + } + + public void PostInit() + { + + } private bool IsNullCurrentPlayerInput() { @@ -54,193 +48,25 @@ private bool IsNullCurrentPlayerInput() return true; } - public InputAction GetAction(InputActionMaps actionMapName, string actionName) - { - if (IsNullCurrentPlayerInput()) return null; - - var actionMap = _currentPlayerInput.actions.FindActionMap(actionMapName.ToString(), true); - if (actionMap == null) - { - Debug.LogError($"Action Map '{actionMapName}' not found!"); - return null; - } - - var action = actionMap.FindAction(actionName, true); - if (action == null) - { - Debug.LogError($"Action '{actionName}' not found in Action Map '{actionMapName}'!"); - } - - return action; - } - - public string GetBoundKey(InputActionMaps actionMapName, string actionName) - { - if (IsNullCurrentPlayerInput()) return null; - - var actionMap = _currentPlayerInput.actions.FindActionMap(actionMapName.ToString(), true); - if (actionMap == null) - { - Debug.LogError($"Action Map '{actionMapName}' not found!"); - return null; - } - - var action = actionMap.FindAction(actionName, true); - if (action == null) - { - Debug.LogError($"Action '{actionName}' not found in Action Map '{actionMapName}'!"); - return null; - } - - // 첫 번째 바인딩에서 키 이름 가져오기 - foreach (var binding in action.bindings) - { - if (!string.IsNullOrEmpty(binding.path)) - { - // 키 이름만 추출 - var key = InputControlPath.ToHumanReadableString(binding.path, - InputControlPath.HumanReadableStringOptions.OmitDevice); - return key; - } - } - - Debug.LogWarning($"No bindings found for action '{actionName}' in Action Map '{actionMapName}'."); - return null; - } - - public string GetBoundKey(InputAction inputAction) - { - if (IsNullCurrentPlayerInput()) return null; - - if (inputAction == null) - { - Debug.LogError($"Action not found'!"); - return null; - } - - // 첫 번째 바인딩에서 키 이름 가져오기 - foreach (var binding in inputAction.bindings) - { - if (!string.IsNullOrEmpty(binding.path)) - { - // 키 이름만 추출 - var key = InputControlPath.ToHumanReadableString(binding.path, - InputControlPath.HumanReadableStringOptions.OmitDevice); - return key; - } - } - - Debug.LogWarning($"No bindings found for action '{inputAction}'"); - return null; - } - - public bool IsCurrentActionMap(InputActionMaps inputActionMaps) - { - if (IsNullCurrentPlayerInput()) return false; - - return _currentPlayerInput.currentActionMap.ToString() == inputActionMaps.ToString(); - } - - public void SwitchCurrentActionMap(string inputActionMaps) - { - if (IsNullCurrentPlayerInput()) return; - - _currentPlayerInput.SwitchCurrentActionMap(inputActionMaps); - } - public void SwitchCurrentActionMap(InputActionMaps inputActionMaps) { - if (IsNullCurrentPlayerInput()) return; + if (IsNullCurrentPlayerInput() || inputActionMaps == InputActionMaps.None) return; - _currentPlayerInput.SwitchCurrentActionMap(inputActionMaps.ToString()); + _currentPlayerInput.SwitchCurrentActionMap(inputActionMaps.ToName()); } - public InputActionMap GetCurrentInputActionMap() + public InputActionMaps GetCurrentActionMap() { - if (IsNullCurrentPlayerInput()) return null; + if (IsNullCurrentPlayerInput()) return InputActionMaps.None; - return _currentPlayerInput.currentActionMap; - } - - public void EnableCurrentPlayerInput() - { - if (!_currentPlayerInput) return; - - _currentPlayerInput.enabled = true; - } - - public void DisableCurrentPlayerInput() - { - if (IsNullCurrentPlayerInput()) return; - - _currentPlayerInput.enabled = false; - } - - public void DisableAllActionMaps() - { - if (IsNullCurrentPlayerInput()) return; - - foreach (var element in _currentPlayerInput.actions.actionMaps) + string mapName = _currentPlayerInput.currentActionMap.name; + if (Enum.TryParse(mapName, out InputActionMaps parsedMap)) { - element.Disable(); + return parsedMap; } - } - - public void DisableAllActionsExcept(string exceptActionName) - { - if (IsNullCurrentPlayerInput()) return; - - var exceptAction = _currentPlayerInput.currentActionMap.FindAction(exceptActionName); - - foreach (var action in _currentPlayerInput.currentActionMap.actions) - { - if (action != exceptAction) - { - action.Disable(); - } - else - { - action.Enable(); - } - } - } - - public void EnableAllActionsMaps() - { - if (IsNullCurrentPlayerInput()) return; - - foreach (var action in _currentPlayerInput.actions) - { - action.Enable(); - } - } - - public void EnableAction(string actionName) - { - if (IsNullCurrentPlayerInput()) return; - - var action = _currentPlayerInput.currentActionMap.FindAction(actionName); - if (action == null) - { - Debug.Log($"현재 Action Map인 {_currentPlayerInput.currentActionMap}에는 {actionName} Action이 존재하지 않습니다"); - return; - } - - action.Enable(); - } - - public void DisableAction(string actionName) - { - if (IsNullCurrentPlayerInput()) return; - - var action = _currentPlayerInput.currentActionMap.FindAction(actionName); - if (action == null) - { - Debug.Log($"현재 Action Map인 {_currentPlayerInput.currentActionMap}에는 {actionName} Action이 존재하지 않습니다"); - return; - } - - action.Disable(); + + Debug.LogError($"[InputManager] 알 수 없는 ActionMap 이름: {mapName}"); + return InputActionMaps.None; } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/InputSystem/UiActionBinding.cs b/Assets/_DDD/_Scripts/InputSystem/UiActionBinding.cs new file mode 100644 index 000000000..1407a73d9 --- /dev/null +++ b/Assets/_DDD/_Scripts/InputSystem/UiActionBinding.cs @@ -0,0 +1,12 @@ +using System; +using UnityEngine.InputSystem; + +namespace DDD +{ + [Serializable] + public class UiActionBinding + { + public string ActionName; + public InputActionReference InputAction; + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/InputSystem/UiInputBindingSo.cs b/Assets/_DDD/_Scripts/InputSystem/UiInputBindingSo.cs new file mode 100644 index 000000000..6ae102f03 --- /dev/null +++ b/Assets/_DDD/_Scripts/InputSystem/UiInputBindingSo.cs @@ -0,0 +1,12 @@ +using System.Collections.Generic; +using UnityEngine; + +namespace DDD +{ + [CreateAssetMenu(fileName = "UiInputBindingSo", menuName = "Ui/UiInputBindingSo")] + public class UiInputBindingSo : ScriptableObject + { + public InputActionMaps InputActionMaps; + public List Bindings = new(); + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantController/RestaurantController.cs b/Assets/_DDD/_Scripts/RestaurantController/RestaurantController.cs index 67b2afa99..b7e5afb10 100644 --- a/Assets/_DDD/_Scripts/RestaurantController/RestaurantController.cs +++ b/Assets/_DDD/_Scripts/RestaurantController/RestaurantController.cs @@ -70,6 +70,7 @@ public async Task OnReadyNewFlow(GameFlowState newFlowState) var playerHandle = createRestaurantPlayerSoJob.OnReadyNewFlow(newFlowState); var propHandle = createEnvironmentSoJob.OnReadyNewFlow(newFlowState); // Combine handles and return it + InputManager.Instance.SwitchCurrentActionMap(InputActionMaps.Restaurant); await Task.WhenAll(playerHandle, propHandle); } } diff --git a/Assets/_DDD/_Scripts/Utilities/Constants.cs b/Assets/_DDD/_Scripts/Utilities/Constants.cs index 0043760c8..e30f4138f 100644 --- a/Assets/_DDD/_Scripts/Utilities/Constants.cs +++ b/Assets/_DDD/_Scripts/Utilities/Constants.cs @@ -6,6 +6,7 @@ public static class CommonConstants public const string RestaurantPlayer = "RestaurantPlayer"; public const string BaseRestaurantEnvironment = "BaseRestaurantEnvironment"; public const string Clone = "(Clone)"; + public const string Panel = "Panel"; } public static class DataConstants @@ -14,6 +15,7 @@ public static class DataConstants public const string FoodDataSo = "FoodDataSo"; public const string EnvironmentDataSo = "EnvironmentDataSo"; public const string RestaurantPlayerDataSo = "RestaurantPlayerDataSo"; + public const string UiInputBindingSo = "UiInputBindingSo"; public const string AtlasLabel = "Atlas"; public const string BasePropSpriteMaterial = "BasePropSpriteMaterial"; -- 2.45.2 From 06001cd4f00430a0a5758e878a0c4c93490b7eaf Mon Sep 17 00:00:00 2001 From: NTG_Lenovo Date: Tue, 22 Jul 2025 16:46:47 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EC=97=90=EC=85=8B,=20=EB=A9=94=ED=83=80?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DDD_InputSystem.inputactions | 128 ++++++++++++++++++ .../DDD_InputSystem.inputactions.meta | 0 .../Prefabs/BaseRestaurantCharacter.prefab | 87 ------------ .../_ScriptAssets/Prefabs/InputManager.prefab | 78 +++++++++++ .../Prefabs/InputManager.prefab.meta | 7 + .../_ScriptAssets/Prefabs/UiManager.prefab | 118 +++++++++++++++- .../So/ManagerDefinitionSo.asset | 3 +- Assets/_DDD/_ScriptAssets/So/Uis.meta | 8 ++ .../InputSystem/UiActionBinding.cs.meta | 2 + .../InputSystem/UiInputBindingSo.cs.meta | 2 + 10 files changed, 340 insertions(+), 93 deletions(-) rename Assets/_DDD/{Common => _ScriptAssets}/DDD_InputSystem.inputactions (87%) rename Assets/_DDD/{Common => _ScriptAssets}/DDD_InputSystem.inputactions.meta (100%) create mode 100644 Assets/_DDD/_ScriptAssets/Prefabs/InputManager.prefab create mode 100644 Assets/_DDD/_ScriptAssets/Prefabs/InputManager.prefab.meta create mode 100644 Assets/_DDD/_ScriptAssets/So/Uis.meta create mode 100644 Assets/_DDD/_Scripts/InputSystem/UiActionBinding.cs.meta create mode 100644 Assets/_DDD/_Scripts/InputSystem/UiInputBindingSo.cs.meta diff --git a/Assets/_DDD/Common/DDD_InputSystem.inputactions b/Assets/_DDD/_ScriptAssets/DDD_InputSystem.inputactions similarity index 87% rename from Assets/_DDD/Common/DDD_InputSystem.inputactions rename to Assets/_DDD/_ScriptAssets/DDD_InputSystem.inputactions index 218425cad..791e9eee7 100644 --- a/Assets/_DDD/Common/DDD_InputSystem.inputactions +++ b/Assets/_DDD/_ScriptAssets/DDD_InputSystem.inputactions @@ -791,6 +791,134 @@ "isPartOfComposite": false } ] + }, + { + "name": "RestaurantUi", + "id": "09e9f166-1b94-40d7-92a5-306261fd4a45", + "actions": [ + { + "name": "Submit", + "type": "Button", + "id": "e149792b-a700-4b90-a21d-8fc547741042", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Cancel", + "type": "Button", + "id": "38e6d893-5a8f-4e02-aabc-07829d32428a", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Interact1", + "type": "Button", + "id": "345ce67b-a186-4368-bd50-2384e93cf5ce", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "Interact2", + "type": "Button", + "id": "7900b5b8-b140-4a58-9352-bbfea4704a1e", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "PreviousTab", + "type": "Button", + "id": "78e6de72-1e34-4422-b40f-3f0607115648", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "NextTab", + "type": "Button", + "id": "c1875db3-e751-4965-941e-be486ca994a4", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false + } + ], + "bindings": [ + { + "name": "", + "id": "e35c75ec-b269-454d-93e0-b79adb0cadb2", + "path": "/enter", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Submit", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "0e22594f-9dac-4ffe-8048-a82ee21b2e44", + "path": "/escape", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Cancel", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "19e1fbbb-bff6-4e7b-a4df-79a390e38386", + "path": "/e", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Interact1", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "cfbf9b29-3d54-45fc-b740-699c18628211", + "path": "/f", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Interact2", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "cfa7a71b-fda7-4cbe-81cb-e02433aeea47", + "path": "/q", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "PreviousTab", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "ce06d3e9-c611-4594-91c4-16b8dfdf1ce9", + "path": "/r", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "NextTab", + "isComposite": false, + "isPartOfComposite": false + } + ] } ], "controlSchemes": [ diff --git a/Assets/_DDD/Common/DDD_InputSystem.inputactions.meta b/Assets/_DDD/_ScriptAssets/DDD_InputSystem.inputactions.meta similarity index 100% rename from Assets/_DDD/Common/DDD_InputSystem.inputactions.meta rename to Assets/_DDD/_ScriptAssets/DDD_InputSystem.inputactions.meta diff --git a/Assets/_DDD/_ScriptAssets/Prefabs/BaseRestaurantCharacter.prefab b/Assets/_DDD/_ScriptAssets/Prefabs/BaseRestaurantCharacter.prefab index 6dc020ead..1ddc16380 100644 --- a/Assets/_DDD/_ScriptAssets/Prefabs/BaseRestaurantCharacter.prefab +++ b/Assets/_DDD/_ScriptAssets/Prefabs/BaseRestaurantCharacter.prefab @@ -11,7 +11,6 @@ GameObject: - component: {fileID: 1761643478070701343} - component: {fileID: 5176902543201676162} - component: {fileID: 732677841941379807} - - component: {fileID: 8352859907019760819} - component: {fileID: 3365694194251356714} - component: {fileID: 127430239903465757} - component: {fileID: 3095965496140440094} @@ -86,92 +85,6 @@ BoxCollider: serializedVersion: 3 m_Size: {x: 0.3, y: 0.5, z: 0.1} m_Center: {x: 0, y: 0.25, z: 0.05} ---- !u!114 &8352859907019760819 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5259510642736920361} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Actions: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3} - m_NotificationBehavior: 2 - m_UIInputModule: {fileID: 0} - m_DeviceLostEvent: - m_PersistentCalls: - m_Calls: [] - m_DeviceRegainedEvent: - m_PersistentCalls: - m_Calls: [] - m_ControlsChangedEvent: - m_PersistentCalls: - m_Calls: [] - m_ActionEvents: - - m_PersistentCalls: - m_Calls: [] - m_ActionId: 351f2ccd-1f9f-44bf-9bec-d62ac5c5f408 - m_ActionName: 'Restaurant/Move[/Keyboard/w,/Keyboard/upArrow,/Keyboard/s,/Keyboard/downArrow,/Keyboard/a,/Keyboard/leftArrow,/Keyboard/d,/Keyboard/rightArrow]' - - m_PersistentCalls: - m_Calls: [] - m_ActionId: 6c2ab1b8-8984-453a-af3d-a3c78ae1679a - m_ActionName: 'Restaurant/Attack[/Mouse/leftButton,/Keyboard/enter]' - - m_PersistentCalls: - m_Calls: [] - m_ActionId: f1e71b7e-271b-4382-876a-260ea451296a - m_ActionName: 'Restaurant/Dash[/Keyboard/space]' - - m_PersistentCalls: - m_Calls: [] - m_ActionId: 852140f2-7766-474d-8707-702459ba45f3 - m_ActionName: 'Restaurant/Interact[/Keyboard/e]' - - m_PersistentCalls: - m_Calls: [] - m_ActionId: c95b2375-e6d9-4b88-9c4c-c5e76515df4b - m_ActionName: 'Ui/Navigate[/Keyboard/w,/Keyboard/upArrow,/Keyboard/s,/Keyboard/downArrow,/Keyboard/a,/Keyboard/leftArrow,/Keyboard/d,/Keyboard/rightArrow]' - - m_PersistentCalls: - m_Calls: [] - m_ActionId: 7607c7b6-cd76-4816-beef-bd0341cfe950 - m_ActionName: 'Ui/Submit[/Keyboard/enter]' - - m_PersistentCalls: - m_Calls: [] - m_ActionId: 15cef263-9014-4fd5-94d9-4e4a6234a6ef - m_ActionName: 'Ui/Cancel[/Keyboard/escape]' - - m_PersistentCalls: - m_Calls: [] - m_ActionId: 32b35790-4ed0-4e9a-aa41-69ac6d629449 - m_ActionName: 'Ui/Point[/Mouse/position]' - - m_PersistentCalls: - m_Calls: [] - m_ActionId: 3c7022bf-7922-4f7c-a998-c437916075ad - m_ActionName: 'Ui/Click[/Mouse/leftButton]' - - m_PersistentCalls: - m_Calls: [] - m_ActionId: 44b200b1-1557-4083-816c-b22cbdf77ddf - m_ActionName: 'Ui/RightClick[/Mouse/rightButton]' - - m_PersistentCalls: - m_Calls: [] - m_ActionId: dad70c86-b58c-4b17-88ad-f5e53adf419e - m_ActionName: 'Ui/MiddleClick[/Mouse/middleButton]' - - m_PersistentCalls: - m_Calls: [] - m_ActionId: 0489e84a-4833-4c40-bfae-cea84b696689 - m_ActionName: 'Ui/ScrollWheel[/Mouse/scroll]' - - m_PersistentCalls: - m_Calls: [] - m_ActionId: 24908448-c609-4bc3-a128-ea258674378a - m_ActionName: Ui/TrackedDevicePosition - - m_PersistentCalls: - m_Calls: [] - m_ActionId: 9caa3d8a-6b2f-4e8e-8bad-6ede561bd9be - m_ActionName: Ui/TrackedDeviceOrientation - m_NeverAutoSwitchControlSchemes: 0 - m_DefaultControlScheme: - m_DefaultActionMap: Restaurant - m_SplitScreenIndex: -1 - m_Camera: {fileID: 0} --- !u!114 &3365694194251356714 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/_DDD/_ScriptAssets/Prefabs/InputManager.prefab b/Assets/_DDD/_ScriptAssets/Prefabs/InputManager.prefab new file mode 100644 index 000000000..a7c2fb19f --- /dev/null +++ b/Assets/_DDD/_ScriptAssets/Prefabs/InputManager.prefab @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &400999908655581056 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8535288295479870848} + - component: {fileID: 2911068230828892660} + - component: {fileID: 1957640103239870191} + m_Layer: 0 + m_Name: InputManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8535288295479870848 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400999908655581056} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2911068230828892660 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400999908655581056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Actions: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3} + m_NotificationBehavior: 0 + m_UIInputModule: {fileID: 0} + m_DeviceLostEvent: + m_PersistentCalls: + m_Calls: [] + m_DeviceRegainedEvent: + m_PersistentCalls: + m_Calls: [] + m_ControlsChangedEvent: + m_PersistentCalls: + m_Calls: [] + m_ActionEvents: [] + m_NeverAutoSwitchControlSchemes: 0 + m_DefaultControlScheme: + m_DefaultActionMap: + m_SplitScreenIndex: -1 + m_Camera: {fileID: 0} +--- !u!114 &1957640103239870191 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400999908655581056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f3a9c6e7027b3d944ae69e5e7ccc7627, type: 3} + m_Name: + m_EditorClassIdentifier: + _persistent: 1 diff --git a/Assets/_DDD/_ScriptAssets/Prefabs/InputManager.prefab.meta b/Assets/_DDD/_ScriptAssets/Prefabs/InputManager.prefab.meta new file mode 100644 index 000000000..f4359ada6 --- /dev/null +++ b/Assets/_DDD/_ScriptAssets/Prefabs/InputManager.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0ea39e3605fda704092932acfe9e98fa +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DDD/_ScriptAssets/Prefabs/UiManager.prefab b/Assets/_DDD/_ScriptAssets/Prefabs/UiManager.prefab index 1f4ab7e8a..27f6f5d6b 100644 --- a/Assets/_DDD/_ScriptAssets/Prefabs/UiManager.prefab +++ b/Assets/_DDD/_ScriptAssets/Prefabs/UiManager.prefab @@ -1,5 +1,76 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &437696462836866067 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4347279445921954555} + m_Layer: 5 + m_Name: PopupPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4347279445921954555 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 437696462836866067} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 5760169274063006291} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1575784571700335521 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6847447997747438717} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6847447997747438717 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1575784571700335521} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 3187384646402155854} + m_Father: {fileID: 5781276071116979515} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &3727951609312695740 GameObject: m_ObjectHideFlags: 0 @@ -30,7 +101,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 1 m_Children: - - {fileID: 3187384646402155854} + - {fileID: 6847447997747438717} m_Father: {fileID: 5760169274063006291} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -92,7 +163,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 1 m_Children: - - {fileID: 4012699428012401594} + - {fileID: 7887415862369799649} m_Father: {fileID: 5760169274063006291} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -124,6 +195,42 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 828648aab79941544bf8ceb7b25b586c, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &6379980813304592546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7887415862369799649} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7887415862369799649 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6379980813304592546} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 4012699428012401594} + m_Father: {fileID: 2588022039611725067} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &6838253471355869082 GameObject: m_ObjectHideFlags: 0 @@ -157,6 +264,7 @@ RectTransform: m_LocalScale: {x: 0, y: 0, z: 0} m_ConstrainProportionsScale: 1 m_Children: + - {fileID: 4347279445921954555} - {fileID: 2588022039611725067} - {fileID: 5781276071116979515} m_Father: {fileID: 0} @@ -279,12 +387,12 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7861996272676595012} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 1 m_Children: [] - m_Father: {fileID: 5781276071116979515} + m_Father: {fileID: 6847447997747438717} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -359,7 +467,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 1 m_Children: [] - m_Father: {fileID: 2588022039611725067} + m_Father: {fileID: 7887415862369799649} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} diff --git a/Assets/_DDD/_ScriptAssets/So/ManagerDefinitionSo.asset b/Assets/_DDD/_ScriptAssets/So/ManagerDefinitionSo.asset index 4d6209d06..56e073a83 100644 --- a/Assets/_DDD/_ScriptAssets/So/ManagerDefinitionSo.asset +++ b/Assets/_DDD/_ScriptAssets/So/ManagerDefinitionSo.asset @@ -16,9 +16,10 @@ MonoBehaviour: - {fileID: 2098954470556750352, guid: 95aca5968f190f24eab9bd122ab241bc, type: 3} - {fileID: 4889131746858770208, guid: d90fdb17f0162334daadc6fc93e9a0e3, type: 3} - {fileID: 1192296378469776514, guid: a2de3c6e01c751e49bbd307cbfe04406, type: 3} + - {fileID: 1957640103239870191, guid: 0ea39e3605fda704092932acfe9e98fa, type: 3} - {fileID: 7976048221308114627, guid: 14906596fa615704fb8fa4ac3111fc3b, type: 3} - {fileID: 6471498998539637564, guid: fa2ad62c75b1549f09597e47ed5f7cfb, type: 3} - - {fileID: 7665229218737596710, guid: 71b177c2a18314c588da30429451666a, type: 3} - {fileID: 622422277636247943, guid: d95124918e5a4a246abb0d378b14d3fa, type: 3} + - {fileID: 7665229218737596710, guid: 71b177c2a18314c588da30429451666a, type: 3} - {fileID: 5539371897028506726, guid: 21cff8c1505cd8041a474795e35e0192, type: 3} - {fileID: 8500549904376788358, guid: d81cf4649bf54485a8b0da7a235f3817, type: 3} diff --git a/Assets/_DDD/_ScriptAssets/So/Uis.meta b/Assets/_DDD/_ScriptAssets/So/Uis.meta new file mode 100644 index 000000000..677bc89c0 --- /dev/null +++ b/Assets/_DDD/_ScriptAssets/So/Uis.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 35d7905cfe8751640bedce0ce9a61b47 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DDD/_Scripts/InputSystem/UiActionBinding.cs.meta b/Assets/_DDD/_Scripts/InputSystem/UiActionBinding.cs.meta new file mode 100644 index 000000000..e4fd35424 --- /dev/null +++ b/Assets/_DDD/_Scripts/InputSystem/UiActionBinding.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5ed1d4ce777f104419818be4e5c47e74 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/InputSystem/UiInputBindingSo.cs.meta b/Assets/_DDD/_Scripts/InputSystem/UiInputBindingSo.cs.meta new file mode 100644 index 000000000..70d10972f --- /dev/null +++ b/Assets/_DDD/_Scripts/InputSystem/UiInputBindingSo.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 56f8bbd3b49d1db4eacb33e52abb54be \ No newline at end of file -- 2.45.2