using AxibugEmuOnline.Client.Manager; using System.Collections.Generic; namespace Assets.Script.AppMain.AxiInput { public static class AxiInputUGUICenter { static int handleSeed = 0; static Dictionary dictHandle2AxiUgui = new Dictionary(); static Dictionary> dictBtnType2BtnList = new Dictionary>(); public static int GetNextSeed() { return ++handleSeed; } public static void RegHandle(AxiInputUGUIHandleBase uiHandle) { dictHandle2AxiUgui[uiHandle.Handle] = uiHandle; List list; if (dictBtnType2BtnList.TryGetValue(uiHandle.UguiBtnType, out list)) list = dictBtnType2BtnList[uiHandle.UguiBtnType] = new List(); if (!list.Contains(uiHandle)) list.Add(uiHandle); } public static void UnregHandle(AxiInputUGUIHandleBase uiHandle) { if (!dictHandle2AxiUgui.ContainsKey(uiHandle.Handle)) return; dictHandle2AxiUgui.Remove(uiHandle.Handle); List list; if (dictBtnType2BtnList.TryGetValue(uiHandle.UguiBtnType, out list)) { if (list.Contains(uiHandle)) list.Remove(uiHandle); } } public static bool IsKeyDown(AxiInputUGuiBtnType btntype) { List list; if (!dictBtnType2BtnList.TryGetValue(btntype, out list)) return false; for (int i = 0; i < list.Count; i++) { if (list[i].IsKeyDown()) return true; } return false; } public static bool IsKey(AxiInputUGuiBtnType btntype) { List list; if (!dictBtnType2BtnList.TryGetValue(btntype, out list)) return false; for (int i = 0; i < list.Count; i++) { if (list[i].IsKey()) return true; } return false; } } }