示例#1
0
        public void RegisterShortcut(MyDebugSystem system, string category, string name, MyShortcut shortcut, DebugItemHandler action)
        {
            MyDebugConsoleItem item = new MyDebugConsoleItem
            {
                System   = system,
                Category = category,
                Name     = name,
                Shortcut = shortcut,
                Action   = action
            };

            //if (m_shortcutMap.ContainsKey(shortcut))
            //  return false;
            if (shortcut != null)
            {
                m_shortcutMap.Add(shortcut, item);
            }

            List <MyDebugConsoleItem> items;

            m_categoriesMap.TryGetValue(category.ToString(), out items);
            if (items == null)
            {
                items = new List <MyDebugConsoleItem>();
                m_categoriesMap.Add(category.ToString(), items);
            }

            items.Add(item);
        }
示例#2
0
        /// <summary>
        /// OnKeyDown
        /// </summary>
        /// <param name="key"></param>
        private void OnKeyPressed(MyDebugSystem system, Keys key, short modifier)
        {
            MyShortcut shortcut = new MyShortcut(key, modifier);

            if (m_shortcutMap.ContainsKey(shortcut))
            {
                MyDebugConsoleItem debugItem = m_shortcutMap[shortcut];
                if ((debugItem.System == system) || (debugItem.System == MyDebugSystem.Any))
                {
                    debugItem.Action(debugItem);
                }
            }
        }
示例#3
0
        /// <summary>
        /// UnregisterShortcut
        /// </summary>
        /// <param name="system"></param>
        /// <param name="?"></param>
        public void UnregisterShortcut(MyShortcut shortcut)
        {
            if (shortcut == null)
            {
                return;
            }

            if (!m_shortcutMap.ContainsKey(shortcut))
            {
                return;
            }

            MyDebugConsoleItem item = m_shortcutMap[shortcut];

            m_shortcutMap.Remove(shortcut);

            List <MyDebugConsoleItem> items;

            m_categoriesMap.TryGetValue(item.Category.ToString(), out items);
            System.Diagnostics.Debug.Assert(items != null);

            items.Remove(item);
        }
示例#4
0
        public void RegisterShortcut(MyDebugSystem system, string category, string name, MyShortcut shortcut, DebugItemHandler action)
        {
            MyDebugConsoleItem item = new MyDebugConsoleItem
            {
                System = system,
                Category = category,
                Name = name,
                Shortcut = shortcut,
                Action = action
            };

            //if (m_shortcutMap.ContainsKey(shortcut))
              //  return false;
            if (shortcut != null)
            {
                m_shortcutMap.Add(shortcut, item);
            }

            List<MyDebugConsoleItem> items;
            m_categoriesMap.TryGetValue(category.ToString(), out items);
            if (items == null)
            {
                items = new List<MyDebugConsoleItem>();
                m_categoriesMap.Add(category.ToString(), items);
            }

            items.Add(item);
        }