From 766cdff5ffa72b65d7f106658d1603f47739b2ba Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Fri, 27 Oct 2023 11:05:14 +0800 Subject: + init --- GameCode/EscapeMenuHandler.cs | 62 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 GameCode/EscapeMenuHandler.cs (limited to 'GameCode/EscapeMenuHandler.cs') diff --git a/GameCode/EscapeMenuHandler.cs b/GameCode/EscapeMenuHandler.cs new file mode 100644 index 0000000..0204501 --- /dev/null +++ b/GameCode/EscapeMenuHandler.cs @@ -0,0 +1,62 @@ +using InControl; +using UnityEngine; + +public class EscapeMenuHandler : MonoBehaviour +{ + public static bool isEscMenu; + + public GameObject[] togglers; + + public GameObject canvs; + + private void Start() + { + isEscMenu = false; + } + + private void Update() + { + if (CharacterCreatorHandler.instance.SomeoneIsEditing() || canvs.activeInHierarchy) + { + return; + } + if (Input.GetKeyDown(KeyCode.Escape)) + { + ToggleEsc(); + } + for (int i = 0; i < InputManager.ActiveDevices.Count; i++) + { + if (InputManager.ActiveDevices[i].CommandWasPressed) + { + ToggleEsc(); + } + } + } + + public void ToggleEsc() + { + isEscMenu = !isEscMenu; + if (isEscMenu) + { + ListMenu.instance.SelectButton(GetComponentInChildren().firstSelected); + } + else + { + ListMenu.instance.SelectButton(GetComponentsInChildren()[1]); + } + for (int i = 0; i < togglers.Length; i++) + { + togglers[i].SetActive(isEscMenu); + } + if (isEscMenu) + { + ListMenu.instance.SelectButton(GetComponentInChildren().firstSelected); + return; + } + ListMenuButton[] componentsInChildren = GetComponentsInChildren(includeInactive: true); + if (componentsInChildren.Length > 2) + { + ListMenu.instance.SelectButton(componentsInChildren[1]); + } + } +} -- cgit v1.1-26-g67d0