This commit is contained in:
wsh
2025-04-16 11:45:14 +09:00
18 changed files with 133 additions and 305 deletions

View File

@@ -1,5 +1,6 @@
using NUnit.Framework;
using System.Collections.Generic;
using XED.Manage;
namespace XED.VirtualFactory
{

View File

@@ -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

View File

@@ -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

View File

@@ -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
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: ca60beab57bc28c4ba8d59f3593937b2

View File

@@ -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<T>(HashSet<T> type)
{
if(type is HashSet<Floor>)

View File

@@ -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

View File

@@ -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<Material>("Materials/Mat_LineRender");
@@ -90,7 +76,7 @@ namespace XED
prf_Wall = Resources.Load<Wall>("Prefabs/PRF_Wall");
prf_WallGroup = Resources.Load<WallGroup>("Prefabs/PRF_WallGroup");
meshCreator = FindSingle<MeshCreator>();
meshCreator = ManagerHub.instance.Get<MeshCreator>();
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<Raycaster>();
var raycaster = ManagerHub.instance.Get<Raycaster>();
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<Raycaster>();
var raycaster = ManagerHub.instance.Get<Raycaster>();
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;

View File

@@ -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<AGV> 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)

View File

@@ -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<Pair<AGVNode>> linkedNode = new HashSet<Pair<AGVNode>>();
private Dictionary<Pair<AGVNode>, GameObject> lineObjects = new Dictionary<Pair<AGVNode>, GameObject>();
@@ -14,6 +14,11 @@ namespace XED.VirtualFactory
[SerializeField]
Material lineMat;
public override void Init()
{
}
public void AddLines(List<AGVNode> 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

View File

@@ -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<AGVNode> selectedNodeSequence = new List<AGVNode>();
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>();
nodeGizmoController = ManagerHub.instance.Get<NodeGizmoController>();
userInputManager = ManagerHub.instance.Get<UserInputManager>();
raycaster = ManagerHub.instance.Get<Raycaster>();
}
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<AGVNode>();
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<AGVNode>();
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<AGVNode>();
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<Raycaster>();
ManagerHub.instance.Get<UserInputManager>().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<Raycaster>();
ManagerHub.instance.Get<UserInputManager>().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();
//}
}
}

View File

@@ -4,6 +4,7 @@ using TMPro;
using UnityEngine;
using UnityEngine.UI;
using XRLib.UI;
using static XED.Enums;
namespace XED.VirtualFactory
{

View File

@@ -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)

View File

@@ -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)
{

View File

@@ -37,7 +37,7 @@ namespace XED
var renderObjectHandler = ManagerHub.instance.Get<RenderObjectHandler>();
panel_objectinfo.onTransformChanged += renderObjectHandler.OnTransformChanged;
var raycaster = FindAnyObjectByType<Raycaster>();
var raycaster = ManagerHub.instance.Get<Raycaster>();
raycaster.onUIHoverEvent += panel_tooltip.ActivateTooltip;
raycaster.onUIHoverExitEvent += panel_tooltip.DeactivateTooltip;

View File

@@ -1,7 +1,7 @@
using System;
using UnityEngine.UI;
using XRLib.UI;
using static XED.WallBuilder;
using static XED.Enums;
namespace XED.UI
{

View File

@@ -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()

View File

@@ -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<AGVMap>();
portMap = FindSingle<PortMap>();
agvManager = FindSingle<AGVManager>();
agvManager = ManagerHub.instance.Get<AGVManager>();
stackerCranes = FindObjectsByType<StackerCrane>(UnityEngine.FindObjectsSortMode.None).ToList();
agvNeedScanner = new AGVNeedsScanner(this, agvManager);