This commit is contained in:
2025-10-31 14:04:33 +08:00
parent 2be21cd635
commit 20b6819ee1
2 changed files with 22 additions and 14 deletions

View File

@@ -5,7 +5,6 @@ using UnityEngine.UI;
public class DeviceXEventHandler : MonoBehaviour public class DeviceXEventHandler : MonoBehaviour
{ {
public static DeviceXEventHandler Global;
public bool XBackOrReturn = false; public bool XBackOrReturn = false;
private float pressStartTime; private float pressStartTime;
private bool isPressing = false; private bool isPressing = false;
@@ -31,16 +30,6 @@ public class DeviceXEventHandler : MonoBehaviour
private void Awake() private void Awake()
{ {
if (Global == null)
{
Global = this;
}
else
{
Destroy(this);
return;
}
var deviceXEventPanelHandle = Resources.Load<GameObject>("DeviceXEventPanel"); var deviceXEventPanelHandle = Resources.Load<GameObject>("DeviceXEventPanel");
if (deviceXEventPanelHandle) if (deviceXEventPanelHandle)
{ {
@@ -63,18 +52,34 @@ public class DeviceXEventHandler : MonoBehaviour
void Start() void Start()
{ {
StringEventSystem.Global.Register<bool>("X_Button", SetXbutton); StringEventSystem.Global.Register<bool>("X_Button", SetXbutton);
StringEventSystem.Global.Register<HierarchyType>("X_SetHierarchyType", SetHierarchyType);
} }
void OnDestroy() void OnDestroy()
{ {
StringEventSystem.Global.UnRegister<bool>("X_Button", SetXbutton); StringEventSystem.Global.UnRegister<bool>("X_Button", SetXbutton);
StringEventSystem.Global.UnRegister<HierarchyType>("X_ButtonHierarchyType", SetHierarchyType);
} }
void SetXbutton(bool isActive) void SetXbutton(bool isActive)
{ {
XBackOrReturn = isActive; XBackOrReturn = isActive;
} }
private void SetHierarchyType(HierarchyType type)
{
hierarchyType = type;
switch (hierarchyType)
{
case HierarchyType.Domain:
XBackOrReturn = false;
break;
case HierarchyType.ScenePanel:
XBackOrReturn = true;
break;
case HierarchyType.SceneActive:
XBackOrReturn = true;
break;
}
}
void Update() void Update()
{ {
if (XBackOrReturn) if (XBackOrReturn)
@@ -175,14 +180,17 @@ public class DeviceXEventHandler : MonoBehaviour
switch (hierarchyType) switch (hierarchyType)
{ {
case HierarchyType.Domain: case HierarchyType.Domain:
XBackOrReturn=false;
// 域层级双击逻辑 // 域层级双击逻辑
break; break;
case HierarchyType.ScenePanel: case HierarchyType.ScenePanel:
// 场景面板层级双击逻辑 // 场景面板层级双击逻辑
XBackOrReturn=false;
StringEventSystem.Global.Send("Rollback"); StringEventSystem.Global.Send("Rollback");
break; break;
case HierarchyType.SceneActive: case HierarchyType.SceneActive:
// 场景激活层级双击逻辑 // 场景激活层级双击逻辑
XBackOrReturn=true;
StringEventSystem.Global.Send("UnloadCurrentScene"); StringEventSystem.Global.Send("UnloadCurrentScene");
break; break;
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "com.staryevo.tools", "name": "com.staryevo.tools",
"version": "1.1.11", "version": "1.1.12",
"displayName": "00.StaryEvo.Tools", "displayName": "00.StaryEvo.Tools",
"description": "This is an Framework package(后台服务器版本端口9527)", "description": "This is an Framework package(后台服务器版本端口9527)",
"unity": "2021.3", "unity": "2021.3",