diff --git a/Assets/AGVNeedsScanner.cs b/Assets/AGVNeedsScanner.cs index 5205b5ca..a7cf163b 100644 --- a/Assets/AGVNeedsScanner.cs +++ b/Assets/AGVNeedsScanner.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using System.Collections.Generic; +using XED.Manage; namespace XED.VirtualFactory { diff --git a/Assets/Prefabs/Manager/AGVNodeManager.prefab b/Assets/Prefabs/Manager/AGVNodeManager.prefab index 0350046f..a9878152 100644 --- a/Assets/Prefabs/Manager/AGVNodeManager.prefab +++ b/Assets/Prefabs/Manager/AGVNodeManager.prefab @@ -9,8 +9,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1821569750776054505} - - component: {fileID: 7245323945551537659} - - component: {fileID: 2051839441129491893} - component: {fileID: 4636811485307056759} - component: {fileID: 8127948644408097011} m_Layer: 0 @@ -35,43 +33,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7245323945551537659 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1409607586026230811} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2bb472437f31bb444ac3a380ebdd2f3f, type: 3} - m_Name: - m_EditorClassIdentifier: - nodePrefab: {fileID: 2579942234611465176, guid: 5b3355ff1ae888e428ebf6ad2853e303, type: 3} - markerPrefab: {fileID: 2579942234611465176, guid: f2ef013240a7d2548b78c9434734181a, type: 3} - nodeSelectMode: 2 - currentlySelectedNode: {fileID: 0} - agvNodeMap: - maxid: 0 - agvNodeData: [] ---- !u!114 &2051839441129491893 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1409607586026230811} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a6552f9ab96d944459a5e5a6f3eb6463, type: 3} - m_Name: - m_EditorClassIdentifier: - moveGizmo: - _settings: - _canBeDisplayed: 1 - _isExpanded: 1 - _transformableLayers: -1 - target: {fileID: 0} --- !u!114 &4636811485307056759 MonoBehaviour: m_ObjectHideFlags: 0 @@ -98,6 +59,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 43c2fa2860dfa344d856558ec881bb8a, type: 3} m_Name: m_EditorClassIdentifier: - agvPrefab: {fileID: 1505508720499862715, guid: 03eb7e95fc0cb334d848d40c49b4110e, type: 3} - agvs: [] - fileName: Assets/AGVsLog.csv + prf_AGV: {fileID: 0} + prf_Spec: {fileID: 0} + autoIndexing: 0 diff --git a/Assets/Scenes/0.22.7.unity b/Assets/Scenes/0.22.7.unity index 67b57269..8c109f72 100644 --- a/Assets/Scenes/0.22.7.unity +++ b/Assets/Scenes/0.22.7.unity @@ -2265,51 +2265,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 502356474} m_CullTransparentMesh: 0 ---- !u!1 &503307893 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 503307894} - - component: {fileID: 503307895} - m_Layer: 0 - m_Name: Raycaster - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &503307894 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 503307893} - 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 &503307895 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 503307893} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73c8199685949fb4eb02e83a235ec68b, type: 3} - m_Name: - m_EditorClassIdentifier: - uiHoverTime: 0 --- !u!1 &535540530 GameObject: m_ObjectHideFlags: 0 @@ -3018,72 +2973,6 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 4, y: 20} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1001 &812349387 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 1093055756} - m_Modifications: - - target: {fileID: 3963811325703941763, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - propertyPath: m_Name - value: WallBuilder - objectReference: {fileID: 0} - - target: {fileID: 3963811325703941763, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7756644939596186566, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - propertyPath: m_LocalPosition.x - value: 1.3484559 - objectReference: {fileID: 0} - - target: {fileID: 7756644939596186566, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - propertyPath: m_LocalPosition.y - value: 3.002852 - objectReference: {fileID: 0} - - target: {fileID: 7756644939596186566, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - propertyPath: m_LocalPosition.z - value: -2.1850286 - objectReference: {fileID: 0} - - target: {fileID: 7756644939596186566, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7756644939596186566, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7756644939596186566, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7756644939596186566, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7756644939596186566, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7756644939596186566, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7756644939596186566, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} ---- !u!4 &812349388 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 7756644939596186566, guid: a906cd4ab09260143b9d87e622d9e458, type: 3} - m_PrefabInstance: {fileID: 812349387} - m_PrefabAsset: {fileID: 0} --- !u!1 &827571245 GameObject: m_ObjectHideFlags: 0 @@ -4289,9 +4178,6 @@ Transform: - {fileID: 1149817090} - {fileID: 636283413} - {fileID: 2021424132} - - {fileID: 812349388} - - {fileID: 503307894} - - {fileID: 2057021881} - {fileID: 538683123} - {fileID: 617235297} - {fileID: 749092880} @@ -11274,68 +11160,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: currentMode: 0 ---- !u!1001 &2057021880 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 1093055756} - m_Modifications: - - target: {fileID: 1409607586026230811, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} - propertyPath: m_Name - value: AGVNodeManager - objectReference: {fileID: 0} - - target: {fileID: 1821569750776054505, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1821569750776054505, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1821569750776054505, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1821569750776054505, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1821569750776054505, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1821569750776054505, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1821569750776054505, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1821569750776054505, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1821569750776054505, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1821569750776054505, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} ---- !u!4 &2057021881 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 1821569750776054505, guid: 2e1f6b521b86f624a9e2eba79ecb0de5, type: 3} - m_PrefabInstance: {fileID: 2057021880} - m_PrefabAsset: {fileID: 0} --- !u!224 &34056510312835704 RectTransform: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Studio/DataStructures/Enums.cs b/Assets/Scripts/Studio/DataStructures/Enums.cs new file mode 100644 index 00000000..1fd6afce --- /dev/null +++ b/Assets/Scripts/Studio/DataStructures/Enums.cs @@ -0,0 +1,34 @@ +using UnityEngine; + +namespace XED +{ + public static class Enums + { + public enum NodeSelectMode + { + Idle, + Draw, + SelectRunNode, + Select, + Setting + } + + public enum VirtualPoint + { + LeftTop, + LeftBottom, + RightTop, + RightBottom, + LeftCenter, + RightCenter, + } + + public enum BuilderState + { + None, + PointModfiy, + PointRemove, + Drawing + } + } +} diff --git a/Assets/Scripts/Studio/DataStructures/Enums.cs.meta b/Assets/Scripts/Studio/DataStructures/Enums.cs.meta new file mode 100644 index 00000000..b14a4665 --- /dev/null +++ b/Assets/Scripts/Studio/DataStructures/Enums.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ca60beab57bc28c4ba8d59f3593937b2 \ No newline at end of file diff --git a/Assets/Scripts/Studio/Legacy/Building/MeshCreator.cs b/Assets/Scripts/Studio/Legacy/Building/MeshCreator.cs index 0f57aa9c..be03a7b6 100644 --- a/Assets/Scripts/Studio/Legacy/Building/MeshCreator.cs +++ b/Assets/Scripts/Studio/Legacy/Building/MeshCreator.cs @@ -5,9 +5,9 @@ using TriLibCore.Dae.Schema; using UnityEngine; using XRLib; -namespace XED +namespace XED.Manage { - public class MeshCreator : MonoBehaviour,ISingle + public class MeshCreator : Manager { Vector3[] vertices; int[] triangles; @@ -15,6 +15,11 @@ namespace XED private MeshFilter meshfilter; //private Vector3 offset = Vector3.zero; + public override void Init() + { + + } + public void MeshDeformer(HashSet type) { if(type is HashSet) diff --git a/Assets/Scripts/Studio/Legacy/Building/Wall.cs b/Assets/Scripts/Studio/Legacy/Building/Wall.cs index 0c59698f..09c7f03c 100644 --- a/Assets/Scripts/Studio/Legacy/Building/Wall.cs +++ b/Assets/Scripts/Studio/Legacy/Building/Wall.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Security.Cryptography; using UnityEngine; using XRLib; -using static XED.WallBuilder; +using static XED.Enums; using Color = UnityEngine.Color; namespace XED diff --git a/Assets/Scripts/Studio/Legacy/Building/WallBuilder.cs b/Assets/Scripts/Studio/Legacy/Building/WallBuilder.cs index f13a7e06..2f630ac7 100644 --- a/Assets/Scripts/Studio/Legacy/Building/WallBuilder.cs +++ b/Assets/Scripts/Studio/Legacy/Building/WallBuilder.cs @@ -9,28 +9,13 @@ using XRLib; using XED.Interfaces; using XED.Manage; using XED.RuntimeGizmo; +using Object = UnityEngine.Object; +using static XED.Enums; -namespace XED +namespace XED.Manage { - public class WallBuilder : MonoBehaviour, ISingle, IInputHandler, IModeController + public class WallBuilder : Manager, IInputHandler, IModeController { - public enum VirtualPoint - { - LeftTop, - LeftBottom, - RightTop, - RightBottom, - LeftCenter, - RightCenter, - } - public enum BuilderState - { - None, - PointModfiy, - PointRemove, - Drawing - } - public float thickness; private GameObject renderParent; private Material lineMat; @@ -81,7 +66,8 @@ namespace XED wallLines.Add(wallLine); } } - public override void AfterAwake() + + public override void Init() { renderParent = new GameObject("LineRenderParent"); lineMat = Resources.Load("Materials/Mat_LineRender"); @@ -90,7 +76,7 @@ namespace XED prf_Wall = Resources.Load("Prefabs/PRF_Wall"); prf_WallGroup = Resources.Load("Prefabs/PRF_WallGroup"); - meshCreator = FindSingle(); + meshCreator = ManagerHub.instance.Get(); handler = GetInputHandler(); } @@ -146,14 +132,14 @@ namespace XED { //ToDo..연결된 포인트가 없는 Point찾아서 제거 DisconnectLine(removeWalls[i]); - Destroy(removeWalls[i].gameObject); + Object.Destroy(removeWalls[i].gameObject); } Remove(lp); } public LinePoint CreateLinePoint(Vector3 pos) { - var result = Instantiate(prf_LinePoint); + var result = Object.Instantiate(prf_LinePoint); result.transform.SetParent(renderParent.transform); result.name = cc++.ToString(); result.transform.position = pos; @@ -175,7 +161,7 @@ namespace XED private Wall CreateWall(LinePoint lcp, LinePoint rcp) { - var result = Instantiate(prf_Wall); + var result = Object.Instantiate(prf_Wall); result.Generate(lcp, rcp, lineMat, thickness); result.name = "WallLine" + index++; walls.Add(result); @@ -339,7 +325,7 @@ namespace XED { linePoints.Remove(lp); pointToWall.Remove(lp); - Destroy(lp.gameObject); + Object.Destroy(lp.gameObject); } void BuildWall(Vector3 endPos) @@ -426,7 +412,7 @@ namespace XED pointToWall.Remove(rcp); } wall.Deselect(); - Destroy(wall.gameObject); + Object.Destroy(wall.gameObject); } Wall BuildContinuesWall(Vector3 p) @@ -684,7 +670,7 @@ namespace XED private WallGroup CreateWallGroup() { - var group = Instantiate(prf_WallGroup); + var group = Object.Instantiate(prf_WallGroup); groupTable.Add(group, new()); wallgroups.Add(group); @@ -996,7 +982,7 @@ namespace XED public void StatusEnterEvent() { - var raycaster = FindSingle(); + 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); @@ -1006,7 +992,7 @@ namespace XED public void StatusExitEvent() { - var raycaster = FindSingle(); + 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); @@ -1026,7 +1012,7 @@ namespace XED linePoints.Remove(handlePoint); pointToWall.Remove(handlePoint); handlePoint.Release(); - Destroy(handlePoint.gameObject); + Object.Destroy(handlePoint.gameObject); } if (pilePoint != null) @@ -1044,7 +1030,7 @@ namespace XED { walls.Remove(tempWall); tempWall.Release(); - Destroy(tempWall.gameObject); + Object.Destroy(tempWall.gameObject); } tempWall = null; diff --git a/Assets/Scripts/Studio/Machine/AGV/AGVManager.cs b/Assets/Scripts/Studio/Machine/AGV/AGVManager.cs index 1a6130a5..3a685ab4 100644 --- a/Assets/Scripts/Studio/Machine/AGV/AGVManager.cs +++ b/Assets/Scripts/Studio/Machine/AGV/AGVManager.cs @@ -1,16 +1,23 @@ using System; using System.Collections.Generic; using UnityEngine; +using XED.VirtualFactory; using XRLib; -namespace XED.VirtualFactory +namespace XED.Manage { - public class AGVManager : MonoBehaviour, ISingle + public class AGVManager : Manager { public AGV prf_AGV; public AGVSpec prf_Spec; public HashSet agvs = new(); public bool autoIndexing; + + public override void Init() + { + + } + public bool TryGetIdleAGV(out AGV result) { //Debug.Log($"Try Get Idle AGV"); @@ -30,7 +37,7 @@ namespace XED.VirtualFactory public AGV CreateEmptyAGV() { - var agv = Instantiate(prf_AGV); + var agv = UnityEngine.Object.Instantiate(prf_AGV); agvs.Add(agv); if (autoIndexing) diff --git a/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeLinkManager.cs b/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeLinkManager.cs index 12f22062..a8ea2282 100644 --- a/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeLinkManager.cs +++ b/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeLinkManager.cs @@ -1,10 +1,10 @@ using System.Collections.Generic; using UnityEngine; -using XRLib; +using XED.VirtualFactory; -namespace XED.VirtualFactory +namespace XED.Manage { - public class AGVNodeLinkManager : MonoBehaviour,ISingle + public class AGVNodeLinkManager : Manager { public HashSet> linkedNode = new HashSet>(); private Dictionary, GameObject> lineObjects = new Dictionary, GameObject>(); @@ -14,6 +14,11 @@ namespace XED.VirtualFactory [SerializeField] Material lineMat; + public override void Init() + { + + } + public void AddLines(List nodeList) { for (int i = 0; i < nodeList.Count; i++) @@ -100,7 +105,7 @@ namespace XED.VirtualFactory { if (lineObjects.ContainsKey(pair)) { - Destroy(lineObjects[pair]); + Object.Destroy(lineObjects[pair]); lineObjects.Remove(pair); } else diff --git a/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeManager.cs b/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeManager.cs index 6c2a69f1..61ce5c8e 100644 --- a/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeManager.cs +++ b/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeManager.cs @@ -1,27 +1,20 @@ using Newtonsoft.Json; -using Ookii.Dialogs; using System; using System.Collections.Generic; using System.IO; -using System.Runtime.CompilerServices; using TriLibCore.SFB; using UnityEngine; -using UnityEngine.EventSystems; using XRLib; using XED.Interfaces; -using XED.Manage; +using XED.VirtualFactory; +using XED.Asset; +using Object = UnityEngine.Object; +using static XED.Enums; -namespace XED.VirtualFactory +namespace XED.Manage { - public enum NodeSelectMode - { - Idle, - Draw, - SelectRunNode, - Select, - Setting - } - public class AGVNodeManager : MonoBehaviour, ISingle, IModeController, IInputHandler + + public class AGVNodeManager : Manager, IModeController, IInputHandler { [SerializeField] GameObject nodePrefab; @@ -50,14 +43,18 @@ namespace XED.VirtualFactory List selectedNodeSequence = new List(); InputHandler myHandler; NodeGizmoController nodeGizmoController; + UserInputManager userInputManager; + Raycaster raycaster; public ModePanel.ProgramMode mode => ModePanel.ProgramMode.AGVPathDrawing; - public override void AfterStart() + public override void Init() { agvNodeMap = new AGVNodeMap(); myHandler = GetInputHandler(); - nodeGizmoController = FindSingle(); + nodeGizmoController = ManagerHub.instance.Get(); + userInputManager = ManagerHub.instance.Get(); + raycaster = ManagerHub.instance.Get(); } private void Update() @@ -200,13 +197,13 @@ namespace XED.VirtualFactory { if (flag) { - nodeTarget = Instantiate(markerPrefab); + nodeTarget = Object.Instantiate(markerPrefab); } else { if (nodeTarget) { - Destroy(nodeTarget); + Object.Destroy(nodeTarget); } } } @@ -226,7 +223,7 @@ namespace XED.VirtualFactory return; } - GameObject go = Instantiate(nodePrefab); + GameObject go = Object.Instantiate(nodePrefab); var objNode = go.GetComponent(); nodeTable.Add(nodedata.id, objNode); objNode.Initialize(nodedata); @@ -257,7 +254,7 @@ namespace XED.VirtualFactory DeselectNode(); if (nodeSelectMode == NodeSelectMode.Draw) { - GameObject go = Instantiate(nodePrefab); + GameObject go = Object.Instantiate(nodePrefab); go.transform.position = hit.point; var objNode = go.GetComponent(); int maxid = int.Parse(agvNodeMap.maxid); @@ -281,7 +278,7 @@ namespace XED.VirtualFactory { return; } - GameObject NewNode = Instantiate(nodePrefab, currentlySelectedNode.transform.position + Vector3.right, Quaternion.identity); + GameObject NewNode = Object.Instantiate(nodePrefab, currentlySelectedNode.transform.position + Vector3.right, Quaternion.identity); AGVNode node = NewNode.GetComponent(); int maxid = int.Parse(agvNodeMap.maxid); maxid++; @@ -322,7 +319,7 @@ namespace XED.VirtualFactory n.linkedNodID.Remove(currentlySelectedNode.nodeClass.id); } - Destroy(currentlySelectedNode.gameObject); + Object.Destroy(currentlySelectedNode.gameObject); DeselectNode(); } @@ -356,7 +353,7 @@ namespace XED.VirtualFactory n.linkedNodID.Remove(node.nodeClass.id); } - Destroy(node.gameObject); + Object.Destroy(node.gameObject); DeselectNode(); } @@ -404,8 +401,7 @@ namespace XED.VirtualFactory public void StatusEnterEvent() { - var raycaster = FindSingle(); - ManagerHub.instance.Get().SetHandler(myHandler); + userInputManager.SetHandler(myHandler); raycaster.AddEvent(Raycaster.EventType.FirstLeftClickOnly, typeof(AGVNode), OnClickAGVNode); raycaster.AddEvent(Raycaster.EventType.Stay, typeof(Map), MoveDrawTarget); raycaster.AddEvent(Raycaster.EventType.FirstLeftClickOnly, typeof(Map), ONClickGround); @@ -413,8 +409,7 @@ namespace XED.VirtualFactory public void StatusExitEvent() { - var raycaster = FindSingle(); - ManagerHub.instance.Get().RemoveHandler(myHandler); + userInputManager.RemoveHandler(myHandler); raycaster.RemoveEvent(Raycaster.EventType.FirstLeftClickOnly, typeof(AGVNode), OnClickAGVNode); raycaster.RemoveEvent(Raycaster.EventType.Stay, typeof(Map), MoveDrawTarget); raycaster.RemoveEvent(Raycaster.EventType.FirstLeftClickOnly, typeof(Map), ONClickGround); @@ -438,10 +433,10 @@ namespace XED.VirtualFactory return handler; } - protected override void OnDestroy() - { - //vistaOpenFileDialog.Dispose(); - //saveFileDialog.Dispose(); - } + //protected override void OnDestroy() + //{ + // //vistaOpenFileDialog.Dispose(); + // //saveFileDialog.Dispose(); + //} } } diff --git a/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeModePopup.cs b/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeModePopup.cs index 37bc4a53..a3f995f1 100644 --- a/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeModePopup.cs +++ b/Assets/Scripts/Studio/Machine/AGV/AGVNode/AGVNodeModePopup.cs @@ -4,6 +4,7 @@ using TMPro; using UnityEngine; using UnityEngine.UI; using XRLib.UI; +using static XED.Enums; namespace XED.VirtualFactory { diff --git a/Assets/Scripts/Studio/Machine/AGV/AGVNode/NodeGizmoController.cs b/Assets/Scripts/Studio/Machine/AGV/AGVNode/NodeGizmoController.cs index c0433787..9f836a81 100644 --- a/Assets/Scripts/Studio/Machine/AGV/AGVNode/NodeGizmoController.cs +++ b/Assets/Scripts/Studio/Machine/AGV/AGVNode/NodeGizmoController.cs @@ -1,19 +1,17 @@ using RTG; using UnityEngine; -using XRLib; -namespace XED.VirtualFactory +namespace XED.Manage { - public class NodeGizmoController : MonoBehaviour,ISingle + public class NodeGizmoController : Manager { public ObjectTransformGizmo moveGizmo; public GameObject target; - // Start is called before the first frame update - void Awake() + public override void Init() { - moveGizmo = RTGizmosEngine.Get.CreateObjectMoveGizmo(); - moveGizmo.Gizmo.SetEnabled(false); + //moveGizmo = RTGizmosEngine.Get.CreateObjectMoveGizmo(); + //moveGizmo.Gizmo.SetEnabled(false); } public void Attach(GameObject target) diff --git a/Assets/Scripts/Studio/Managers/ManagerHub.cs b/Assets/Scripts/Studio/Managers/ManagerHub.cs index de554eb8..e564634c 100644 --- a/Assets/Scripts/Studio/Managers/ManagerHub.cs +++ b/Assets/Scripts/Studio/Managers/ManagerHub.cs @@ -20,6 +20,13 @@ namespace XED.Manage Join(new InterferedObjectManager()); Join(new CursorManager()); Join(new CameraManager()); + Join(new Raycaster()); + Join(new AGVNodeManager()); + Join(new NodeGizmoController()); + Join(new AGVNodeLinkManager()); + Join(new AGVManager()); + Join(new WallBuilder()); + Join(new MeshCreator()); foreach(var m in managers) { diff --git a/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs b/Assets/Scripts/Studio/UI/Canvas/Canvas_Popup.cs index 4a7d7c52..893689f7 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 = FindAnyObjectByType(); + var raycaster = ManagerHub.instance.Get(); raycaster.onUIHoverEvent += panel_tooltip.ActivateTooltip; raycaster.onUIHoverExitEvent += panel_tooltip.DeactivateTooltip; diff --git a/Assets/Scripts/Studio/UI/Panel/Panel_Toolbar.cs b/Assets/Scripts/Studio/UI/Panel/Panel_Toolbar.cs index a6905a5d..df8150b3 100644 --- a/Assets/Scripts/Studio/UI/Panel/Panel_Toolbar.cs +++ b/Assets/Scripts/Studio/UI/Panel/Panel_Toolbar.cs @@ -1,7 +1,7 @@ using System; using UnityEngine.UI; using XRLib.UI; -using static XED.WallBuilder; +using static XED.Enums; namespace XED.UI { diff --git a/Assets/Scripts/XRLib/GenericController/Raycaster.cs b/Assets/Scripts/XRLib/GenericController/Raycaster.cs index 4b0675fd..3b37c282 100644 --- a/Assets/Scripts/XRLib/GenericController/Raycaster.cs +++ b/Assets/Scripts/XRLib/GenericController/Raycaster.cs @@ -6,10 +6,10 @@ using UnityEngine.EventSystems; using UnityEngine.UI; using XED; -namespace XRLib +namespace XED.Manage { [DefaultExecutionOrder(int.MinValue)] - public class Raycaster : MonoBehaviour, ISingle + public class Raycaster : Manager { public enum EventType { @@ -57,10 +57,11 @@ namespace XRLib #pragma warning restore IDE0044 Vector2 prevMousePos; - - void Awake() + + public override void Init() { cam = Camera.main; + UpdateRunner.AddAction(Update); } void Update() diff --git a/Assets/VirtualFactoryManager.cs b/Assets/VirtualFactoryManager.cs index b37880d6..586baee1 100644 --- a/Assets/VirtualFactoryManager.cs +++ b/Assets/VirtualFactoryManager.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using UnityEditor; using UnityEngine; +using XED.Manage; using XED.VirtualFactory; namespace XED @@ -43,7 +44,7 @@ public class VirtualFactoryManager : MonoBehaviour { agvMap = FindSingle(); portMap = FindSingle(); - agvManager = FindSingle(); + agvManager = ManagerHub.instance.Get(); stackerCranes = FindObjectsByType(UnityEngine.FindObjectsSortMode.None).ToList(); agvNeedScanner = new AGVNeedsScanner(this, agvManager);