UserInputManager 로직 수정, UpdateRunner 제거 #48
@@ -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>();
|
||||
userInputManager = GameObject.FindAnyObjectByType<UserInputManager>();
|
||||
var statusPanel = GameObject.FindFirstObjectByType<ModePanel>();
|
||||
statusPanel.AddController(this);
|
||||
|
||||
@@ -422,12 +423,12 @@ namespace XED.Util
|
||||
|
||||
public void StatusEnterEvent()
|
||||
{
|
||||
ManagerHub.instance.Get<UserInputManager>().SetHandler(myHandler);
|
||||
userInputManager.SetHandler(myHandler);
|
||||
}
|
||||
|
||||
public void StatusExitEvent()
|
||||
{
|
||||
ManagerHub.instance.Get<UserInputManager>().RemoveHandler(myHandler);
|
||||
userInputManager .RemoveHandler(myHandler);
|
||||
}
|
||||
|
||||
public InputHandler GetInputHandler()
|
||||
|
||||
@@ -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<LinePoint> points = new();
|
||||
@@ -77,6 +80,8 @@ namespace XED.Manage
|
||||
prf_WallGroup = Resources.Load<WallGroup>("Prefabs/PRF_WallGroup");
|
||||
|
||||
meshCreator = ManagerHub.instance.Get<MeshCreator>();
|
||||
userInputManager = GameObject.FindAnyObjectByType<UserInputManager>();
|
||||
raycaster = GameObject.FindAnyObjectByType<Raycaster>();
|
||||
handler = GetInputHandler();
|
||||
}
|
||||
|
||||
@@ -982,21 +987,19 @@ namespace XED.Manage
|
||||
|
||||
public void StatusEnterEvent()
|
||||
{
|
||||
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);
|
||||
raycaster.AddEvent(Raycaster.EventType.FirstClick, typeof(LinePoint), OnClickLinePoint);
|
||||
|
||||
ManagerHub.instance.Get<UserInputManager>().SetHandler(handler);
|
||||
userInputManager.SetHandler(handler);
|
||||
}
|
||||
|
||||
public void StatusExitEvent()
|
||||
{
|
||||
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);
|
||||
ManagerHub.instance.Get<UserInputManager>().RemoveHandler(handler);
|
||||
userInputManager.RemoveHandler(handler);
|
||||
}
|
||||
|
||||
void Pointing()
|
||||
|
||||
@@ -53,8 +53,8 @@ namespace XED.Manage
|
||||
agvNodeMap = new AGVNodeMap();
|
||||
myHandler = GetInputHandler();
|
||||
nodeGizmoController = ManagerHub.instance.Get<NodeGizmoController>();
|
||||
userInputManager = ManagerHub.instance.Get<UserInputManager>();
|
||||
raycaster = ManagerHub.instance.Get<Raycaster>();
|
||||
userInputManager = GameObject.FindAnyObjectByType<UserInputManager>();
|
||||
raycaster = GameObject.FindAnyObjectByType<Raycaster>();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace XED.Manage
|
||||
|
||||
public void Init()
|
||||
{
|
||||
var userInputManager = ManagerHub.instance.Get<UserInputManager>();
|
||||
var userInputManager = GameObject.FindAnyObjectByType<UserInputManager>();
|
||||
|
||||
var commandHandler = CommandInvoker.instance.GetInputHandler();
|
||||
userInputManager.SetHandler(GetDefaultInputHandler());
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using XED.Core;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class UpdateRunner : UnitySingleton<UpdateRunner>
|
||||
{
|
||||
private static List<Action> updateActions = new List<Action>();
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 40294507f68cc2942b2bef179e37eb08
|
||||
@@ -6,7 +6,7 @@ using XRLib;
|
||||
|
||||
namespace XED.Manage
|
||||
{
|
||||
public class UserInputManager : Manager
|
||||
public class UserInputManager : MonoBehaviour
|
||||
{
|
||||
Dictionary<KeyCode, Action> getKeyActionTable = new Dictionary<KeyCode, Action>();
|
||||
Dictionary<KeyCode, Action> upKeyActionTable = new Dictionary<KeyCode, Action>();
|
||||
@@ -149,10 +149,5 @@ namespace XED.Manage
|
||||
|
||||
updateLoop?.Invoke();
|
||||
}
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
UpdateRunner.AddAction(Update);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace XED
|
||||
var renderObjectHandler = ManagerHub.instance.Get<RenderObjectHandler>();
|
||||
panel_objectinfo.onTransformChanged += renderObjectHandler.OnTransformChanged;
|
||||
|
||||
var raycaster = ManagerHub.instance.Get<Raycaster>();
|
||||
var raycaster = GameObject.FindAnyObjectByType<Raycaster>();
|
||||
raycaster.onUIHoverEvent += panel_tooltip.ActivateTooltip;
|
||||
raycaster.onUIHoverExitEvent += panel_tooltip.DeactivateTooltip;
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user