/// <summary> /// 热键可用性改变时 /// </summary> /// <param name="id">id</param> /// <param name="isHold">是否为长按键</param> /// <param name="enabled">是否可用</param> private void OnHotkeyEnabledChanged(string id, bool enabled) { if (OwnerView != null) { OwnerView.SetHotKeyEnabled(id, enabled); } }
/// <summary> /// 删除所有热键 /// </summary> private void RemoveAllHotkeyElement() { if (OwnerView != null) { foreach (string id in m_HotKeyIDs) { OwnerView.SetHotKeyEnabled(id, false); OwnerView.DeleteHotKey(id); } } m_HotKeyIDs.Clear(); }
/// <summary> /// 更新单个热键 /// </summary> /// <param name="key"></param> private void UpdateHotkeyElement(UIViewAction key) { if (key.State < 0 || key.State >= key.StateList.Count) { return; } Transform outer = OwnerView.State.GetActionBox(); Transform parent = outer ? outer : FindComponent <Transform>("Content/HotkeyBox"); UIViewActionState keyState = key.StateList[key.State]; OwnerView.AddHotKey(key.ID, keyState.Hotkey, (callback) => { key.FireEvent(callback); }, keyState.Time, parent, keyState.Text); OwnerView.SetHotKeyVisible(key.ID, key.Visible); OwnerView.SetHotKeyEnabled(key.ID, key.Enabled); OwnerView.SetHotKeyDescription(key.ID, keyState.Text); }