From d4ead516d20d0c673684f6a73d4a1ae4da46c9a0 Mon Sep 17 00:00:00 2001 From: geondo55 <102933884+geondo55@users.noreply.github.com> Date: Wed, 16 Apr 2025 14:50:20 +0900 Subject: [PATCH 1/3] =?UTF-8?q?CursorManager=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scripts/Studio/Managers/CursorManager.cs | 20 ++----------------- Assets/Scripts/Studio/UI/Tag/UI_GUIWindow.cs | 15 +++++++++++++- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/Assets/Scripts/Studio/Managers/CursorManager.cs b/Assets/Scripts/Studio/Managers/CursorManager.cs index 3123c4e7..331c6672 100644 --- a/Assets/Scripts/Studio/Managers/CursorManager.cs +++ b/Assets/Scripts/Studio/Managers/CursorManager.cs @@ -1,3 +1,4 @@ +using System.Drawing.Printing; using UnityEngine; using XED.UI; @@ -18,8 +19,6 @@ namespace XED.Manage public override void Init() { - UpdateRunner.AddAction(Update); - cursor_Up = Resources.Load("Images/cursor_vertical"); cursor_Down = Resources.Load("Images/cursor_vertical"); cursor_Left = Resources.Load("Images/cursor_horizontal"); @@ -30,22 +29,7 @@ namespace XED.Manage cursor_DownRight = Resources.Load("Images/cursor_diag_a"); } - private void Update() - { - if (currentUseGUIWindow == null) - return; - - if (currentUseGUIWindow.state == GUIState.Resize) - { - ChangeMouseCursor(currentUseGUIWindow.resizeDirection); - } - else - { - ChangeMouseCursor(currentUseGUIWindow.GetHandleDirection()); - } - } - - void ChangeMouseCursor(ResizeDirection dir) + public void ChangeMouseCursor(ResizeDirection dir) { switch (dir) { diff --git a/Assets/Scripts/Studio/UI/Tag/UI_GUIWindow.cs b/Assets/Scripts/Studio/UI/Tag/UI_GUIWindow.cs index b27c133b..f8a23737 100644 --- a/Assets/Scripts/Studio/UI/Tag/UI_GUIWindow.cs +++ b/Assets/Scripts/Studio/UI/Tag/UI_GUIWindow.cs @@ -26,7 +26,7 @@ namespace XED.UI None, } - public class UI_GUIWindow : UIBase, IPointerDownHandler, IPointerUpHandler, IPointerEnterHandler, IDragHandler + public class UI_GUIWindow : UIBase, IPointerDownHandler, IPointerUpHandler, IPointerEnterHandler, IPointerMoveHandler, IDragHandler { RectTransform rect; CursorManager cursorManager; @@ -91,6 +91,19 @@ namespace XED.UI InitializeState(); } + public void OnPointerMove(PointerEventData eventData) + { + switch (state) + { + case GUIState.Resize: + cursorManager.ChangeMouseCursor(resizeDirection); + break; + default: + cursorManager.ChangeMouseCursor(GetHandleDirection()); + break; + } + } + public void OnDrag(PointerEventData eventData) { switch (state) -- 2.48.1.windows.1 From 1f525994d0d01266ddc33d17e41e3f0614978e17 Mon Sep 17 00:00:00 2001 From: geondo55 <102933884+geondo55@users.noreply.github.com> Date: Wed, 16 Apr 2025 16:09:12 +0900 Subject: [PATCH 2/3] =?UTF-8?q?UserInputManager=20=EC=88=98=EC=A0=95,=20Up?= =?UTF-8?q?dateRunner=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Studio/AssetTool/RenderObjectHandler.cs | 7 ++-- .../Studio/Legacy/Building/WallBuilder.cs | 13 ++++--- .../Machine/AGV/AGVNode/AGVNodeManager.cs | 4 +- .../Scripts/Studio/Managers/EventConnector.cs | 2 +- Assets/Scripts/Studio/Managers/ManagerHub.cs | 2 - .../Scripts/Studio/Managers/UpdateRunner.cs | 37 ------------------- .../Studio/Managers/UpdateRunner.cs.meta | 2 - .../Studio/Managers/UserInputManager.cs | 7 +--- .../Scripts/Studio/UI/Canvas/Canvas_Popup.cs | 2 +- .../XRLib/GenericController/Raycaster.cs | 5 +-- 10 files changed, 19 insertions(+), 62 deletions(-) delete mode 100644 Assets/Scripts/Studio/Managers/UpdateRunner.cs delete mode 100644 Assets/Scripts/Studio/Managers/UpdateRunner.cs.meta diff --git a/Assets/Scripts/Studio/AssetTool/RenderObjectHandler.cs b/Assets/Scripts/Studio/AssetTool/RenderObjectHandler.cs index fa1cc84c..10ff258a 100644 --- a/Assets/Scripts/Studio/AssetTool/RenderObjectHandler.cs +++ b/Assets/Scripts/Studio/AssetTool/RenderObjectHandler.cs @@ -24,6 +24,7 @@ namespace XED.Util CustomAssetRenderObject prevSelectedObject; RTGController rtgController; ConvexHullCalculator convexHullCalculator = new ConvexHullCalculator(); + UserInputManager userInputManager; Vector3 clickBeginPos; float clickLengthThreshold = 5.0f; int uiLayer; @@ -37,7 +38,7 @@ namespace XED.Util rtgController.onTransformBegin = OnTransformBegin; rtgController.onTransformChanged = OnTransformChangedFromRTG; uiLayer = LayerMask.NameToLayer("UI"); - //var inputManager = FindSingle(); + userInputManager = GameObject.FindAnyObjectByType(); var statusPanel = GameObject.FindFirstObjectByType(); statusPanel.AddController(this); @@ -422,12 +423,12 @@ namespace XED.Util public void StatusEnterEvent() { - ManagerHub.instance.Get().SetHandler(myHandler); + userInputManager.SetHandler(myHandler); } public void StatusExitEvent() { - ManagerHub.instance.Get().RemoveHandler(myHandler); + userInputManager .RemoveHandler(myHandler); } public InputHandler GetInputHandler() diff --git a/Assets/Scripts/Studio/Legacy/Building/WallBuilder.cs b/Assets/Scripts/Studio/Legacy/Building/WallBuilder.cs index 2f630ac7..8b7407f8 100644 --- a/Assets/Scripts/Studio/Legacy/Building/WallBuilder.cs +++ b/Assets/Scripts/Studio/Legacy/Building/WallBuilder.cs @@ -54,6 +54,9 @@ namespace XED.Manage internal event Action onDrawStart; private MeshCreator meshCreator; + private UserInputManager userInputManager; + private Raycaster raycaster; + public class Group { public List points = new(); @@ -77,6 +80,8 @@ namespace XED.Manage prf_WallGroup = Resources.Load("Prefabs/PRF_WallGroup"); meshCreator = ManagerHub.instance.Get(); + userInputManager = GameObject.FindAnyObjectByType(); + raycaster = GameObject.FindAnyObjectByType(); handler = GetInputHandler(); } @@ -982,21 +987,19 @@ namespace XED.Manage public void StatusEnterEvent() { - var raycaster = ManagerHub.instance.Get(); raycaster.AddEvent(Raycaster.EventType.FirstStay, typeof (Map), OnStayMap); raycaster.AddEvent(Raycaster.EventType.FirstClick, typeof(Map), OnClickMap); - raycaster.AddEvent(Raycaster.EventType.FirstClick, typeof(LinePoint), OnClickLinePoint); + raycaster.AddEvent(Raycaster.EventType.FirstClick, typeof(LinePoint), OnClickLinePoint); - ManagerHub.instance.Get().SetHandler(handler); + userInputManager.SetHandler(handler); } public void StatusExitEvent() { - var raycaster = ManagerHub.instance.Get(); raycaster.RemoveEvent(Raycaster.EventType.FirstStay, typeof(Map), OnStayMap); raycaster.RemoveEvent(Raycaster.EventType.FirstClick, typeof(Map), OnClickMap); raycaster.RemoveEvent(Raycaster.EventType.FirstClick, typeof(LinePoint), OnClickLinePoint); - ManagerHub.instance.Get().RemoveHandler(handler); + userInputManager.RemoveHandler(handler); } void Pointing() diff --git a/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeManager.cs b/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeManager.cs index 61ce5c8e..b02f8b53 100644 --- a/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeManager.cs +++ b/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeManager.cs @@ -53,8 +53,8 @@ namespace XED.Manage agvNodeMap = new AGVNodeMap(); myHandler = GetInputHandler(); nodeGizmoController = ManagerHub.instance.Get(); - userInputManager = ManagerHub.instance.Get(); - raycaster = ManagerHub.instance.Get(); + userInputManager = GameObject.FindAnyObjectByType(); + raycaster = GameObject.FindAnyObjectByType(); } private void Update() diff --git a/Assets/Scripts/Studio/Managers/EventConnector.cs b/Assets/Scripts/Studio/Managers/EventConnector.cs index 4a7bcd9a..1a8d125b 100644 --- a/Assets/Scripts/Studio/Managers/EventConnector.cs +++ b/Assets/Scripts/Studio/Managers/EventConnector.cs @@ -38,7 +38,7 @@ namespace XED.Manage public void Init() { - var userInputManager = ManagerHub.instance.Get(); + var userInputManager = GameObject.FindAnyObjectByType(); var commandHandler = CommandInvoker.instance.GetInputHandler(); userInputManager.SetHandler(GetDefaultInputHandler()); diff --git a/Assets/Scripts/Studio/Managers/ManagerHub.cs b/Assets/Scripts/Studio/Managers/ManagerHub.cs index e564634c..ed3faa02 100644 --- a/Assets/Scripts/Studio/Managers/ManagerHub.cs +++ b/Assets/Scripts/Studio/Managers/ManagerHub.cs @@ -14,13 +14,11 @@ namespace XED.Manage { Join(new ProjectManager()); Join(new FBXFileManager()); - Join(new UserInputManager()); Join(new CustomAssetConnector()); Join(new RenderObjectHandler()); Join(new InterferedObjectManager()); Join(new CursorManager()); Join(new CameraManager()); - Join(new Raycaster()); Join(new AGVNodeManager()); Join(new NodeGizmoController()); Join(new AGVNodeLinkManager()); diff --git a/Assets/Scripts/Studio/Managers/UpdateRunner.cs b/Assets/Scripts/Studio/Managers/UpdateRunner.cs deleted file mode 100644 index 3e48cf60..00000000 --- a/Assets/Scripts/Studio/Managers/UpdateRunner.cs +++ /dev/null @@ -1,37 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections.Generic; -using UnityEngine; -using XED.Core; - -namespace XED -{ - public class UpdateRunner : UnitySingleton - { - private static List updateActions = new List(); - - public static void AddAction(Action action) - { - if (!updateActions.Contains(action)) - { - updateActions.Add(action); - } - } - - public static void RemoveAction(Action action) - { - if (updateActions.Contains(action)) - { - updateActions.Remove(action); - } - } - - void Update() - { - foreach (Action action in updateActions) - { - action?.Invoke(); - } - } - } -} diff --git a/Assets/Scripts/Studio/Managers/UpdateRunner.cs.meta b/Assets/Scripts/Studio/Managers/UpdateRunner.cs.meta deleted file mode 100644 index 1ac3dffe..00000000 --- a/Assets/Scripts/Studio/Managers/UpdateRunner.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 40294507f68cc2942b2bef179e37eb08 \ No newline at end of file diff --git a/Assets/Scripts/Studio/Managers/UserInputManager.cs b/Assets/Scripts/Studio/Managers/UserInputManager.cs index b5e19cda..31f4c1ed 100644 --- a/Assets/Scripts/Studio/Managers/UserInputManager.cs +++ b/Assets/Scripts/Studio/Managers/UserInputManager.cs @@ -6,7 +6,7 @@ using XRLib; namespace XED.Manage { - public class UserInputManager : Manager + public class UserInputManager : MonoBehaviour { Dictionary getKeyActionTable = new Dictionary(); Dictionary upKeyActionTable = new Dictionary(); @@ -149,10 +149,5 @@ namespace XED.Manage updateLoop?.Invoke(); } - - public override void Init() - { - UpdateRunner.AddAction(Update); - } } } diff --git a/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs b/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs index 893689f7..19ed35cb 100644 --- a/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs +++ b/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs @@ -37,7 +37,7 @@ namespace XED var renderObjectHandler = ManagerHub.instance.Get(); panel_objectinfo.onTransformChanged += renderObjectHandler.OnTransformChanged; - var raycaster = ManagerHub.instance.Get(); + var raycaster = GameObject.FindAnyObjectByType(); raycaster.onUIHoverEvent += panel_tooltip.ActivateTooltip; raycaster.onUIHoverExitEvent += panel_tooltip.DeactivateTooltip; diff --git a/Assets/Scripts/XRLib/GenericController/Raycaster.cs b/Assets/Scripts/XRLib/GenericController/Raycaster.cs index 3b37c282..67292d55 100644 --- a/Assets/Scripts/XRLib/GenericController/Raycaster.cs +++ b/Assets/Scripts/XRLib/GenericController/Raycaster.cs @@ -9,7 +9,7 @@ using XED; namespace XED.Manage { [DefaultExecutionOrder(int.MinValue)] - public class Raycaster : Manager + public class Raycaster : MonoBehaviour { public enum EventType { @@ -58,10 +58,9 @@ namespace XED.Manage Vector2 prevMousePos; - public override void Init() + public override void AfterAwake() { cam = Camera.main; - UpdateRunner.AddAction(Update); } void Update() -- 2.48.1.windows.1 From 7c958faa4270d30f3397b751c7ea35d3fa099b54 Mon Sep 17 00:00:00 2001 From: geondo55 <102933884+geondo55@users.noreply.github.com> Date: Wed, 16 Apr 2025 16:18:29 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=EC=94=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scenes/0.22.7.unity | 136 +++++++++++++++++++++++++------------ 1 file changed, 91 insertions(+), 45 deletions(-) diff --git a/Assets/Scenes/0.22.7.unity b/Assets/Scenes/0.22.7.unity index 838b4d80..5e83c639 100644 --- a/Assets/Scenes/0.22.7.unity +++ b/Assets/Scenes/0.22.7.unity @@ -1264,6 +1264,51 @@ Transform: - {fileID: 741022416} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &391151067 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 391151068} + - component: {fileID: 391151069} + m_Layer: 0 + m_Name: Raycaster + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &391151068 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 391151067} + 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: 0 + m_Children: [] + m_Father: {fileID: 1093055756} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &391151069 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 391151067} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73c8199685949fb4eb02e83a235ec68b, type: 3} + m_Name: + m_EditorClassIdentifier: + uiHoverTime: 0 --- !u!1 &394283229 GameObject: m_ObjectHideFlags: 0 @@ -2740,6 +2785,50 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 1670299614426086028, guid: db3e2e7e03663874a9b223063e7ea2d9, type: 3} m_PrefabInstance: {fileID: 1976685923} m_PrefabAsset: {fileID: 0} +--- !u!1 &671739450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 671739451} + - component: {fileID: 671739452} + m_Layer: 0 + m_Name: UserInputManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &671739451 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 671739450} + 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: 0 + m_Children: [] + m_Father: {fileID: 1093055756} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &671739452 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 671739450} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6b37771737b0e1c45aa27bf9a659ee88, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!114 &712266949 MonoBehaviour: m_ObjectHideFlags: 0 @@ -4181,7 +4270,8 @@ Transform: - {fileID: 538683123} - {fileID: 617235297} - {fileID: 749092880} - - {fileID: 1683270824} + - {fileID: 671739451} + - {fileID: 391151068} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1093055757 @@ -9684,50 +9774,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1656807015} m_CullTransparentMesh: 0 ---- !u!1 &1683270823 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1683270824} - - component: {fileID: 1683270825} - m_Layer: 0 - m_Name: UpdateRunner - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1683270824 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1683270823} - 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: 0 - m_Children: [] - m_Father: {fileID: 1093055756} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1683270825 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1683270823} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 40294507f68cc2942b2bef179e37eb08, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &1688921138 GameObject: m_ObjectHideFlags: 0 -- 2.48.1.windows.1