引擎简单更新

This commit is contained in:
2025-01-17 21:05:06 +08:00
parent 74025f3d5b
commit a1fd6fca67
37 changed files with 944 additions and 1527 deletions
+12 -11
View File
@@ -80,13 +80,13 @@ namespace AibisDream
_unRegisters.Add(EnumEventSystem.Global.Register(InteractionEventEnum.End, OnInteractiveEnd));
_unRegisters.Add(
EnumEventSystem.Global.Register<TriggerEnum, GameObject>(TriggerEnum.PointerEnter, OnPointerEnter));
EnumEventSystem.Global.Register<TriggerEnum, IInteraction>(TriggerEnum.PointerEnter, OnPointerEnter));
_unRegisters.Add(
EnumEventSystem.Global.Register<TriggerEnum, GameObject>(TriggerEnum.PointerExit, OnPointerExit));
EnumEventSystem.Global.Register<TriggerEnum, IInteraction>(TriggerEnum.PointerExit, OnPointerExit));
_unRegisters.Add(
EnumEventSystem.Global.Register<TriggerEnum, GameObject>(TriggerEnum.PointerDown, OnPointerDown));
EnumEventSystem.Global.Register<TriggerEnum, IInteraction>(TriggerEnum.PointerDown, OnPointerDown));
_unRegisters.Add(
EnumEventSystem.Global.Register<TriggerEnum, GameObject>(TriggerEnum.PointerUp, OnPointerUp));
EnumEventSystem.Global.Register<TriggerEnum, IInteraction>(TriggerEnum.PointerUp, OnPointerUp));
}
private void LateUpdate()
@@ -154,15 +154,16 @@ namespace AibisDream
SwitchCursor(defaultCursor);
}
private void OnPointerEnter(GameObject target)
private void OnPointerEnter(IInteraction target)
{
if (_curState == CursorState.Interactive && !_isTalking)
{
SwitchCursor(interactive);
// 如果不可交互,就显示不可交互的指针
SwitchCursor(target.IsActive ? interactive : disable);
}
}
private void OnPointerExit(GameObject target)
private void OnPointerExit(IInteraction target)
{
if (_curState == CursorState.Interactive && !_isTalking)
{
@@ -170,20 +171,20 @@ namespace AibisDream
}
}
private void OnPointerDown(GameObject target)
private void OnPointerDown(IInteraction target)
{
if (_curState == CursorState.Interactive && !_isTalking)
{
SwitchCursor(holding);
SwitchCursor(target.IsActive ? holding : defaultCursor);
}
}
private void OnPointerUp(GameObject target)
private void OnPointerUp(IInteraction target)
{
if (_curState == CursorState.Interactive && !_isTalking)
{
// 如果松手时还在物体之上
SwitchCursor(EventSystemEx.Instance.holdingObj == target ? interactive : defaultCursor);
SwitchCursor(EventSystemEx.Instance.holdingObj == target.GetGameObject() ? interactive : defaultCursor);
}
}