예제 #1
0
        public static void SetupContexts(IInputContextContainer contexts)
        {
            var common = contexts.GetContext("common");

            common.AddFunction(ContentKeyFunctions.FocusChat);
            common.AddFunction(ContentKeyFunctions.ExamineEntity);
            common.AddFunction(ContentKeyFunctions.OpenTutorial);

            var human = contexts.GetContext("human");

            human.AddFunction(ContentKeyFunctions.SwapHands);
            human.AddFunction(ContentKeyFunctions.Drop);
            human.AddFunction(ContentKeyFunctions.ActivateItemInHand);
            human.AddFunction(ContentKeyFunctions.OpenCharacterMenu);
            human.AddFunction(ContentKeyFunctions.ActivateItemInWorld);
            human.AddFunction(ContentKeyFunctions.ThrowItemInHand);
            human.AddFunction(ContentKeyFunctions.OpenContextMenu);
            human.AddFunction(ContentKeyFunctions.OpenCraftingMenu);
            human.AddFunction(ContentKeyFunctions.OpenInventoryMenu);
            human.AddFunction(ContentKeyFunctions.MouseMiddle);
            // Disabled until there is feedback, so hitting tab doesn't suddenly break interaction.
            // human.AddFunction(ContentKeyFunctions.ToggleCombatMode);

            var ghost = contexts.New("ghost", "common");

            ghost.AddFunction(EngineKeyFunctions.MoveUp);
            ghost.AddFunction(EngineKeyFunctions.MoveDown);
            ghost.AddFunction(EngineKeyFunctions.MoveLeft);
            ghost.AddFunction(EngineKeyFunctions.MoveRight);
            ghost.AddFunction(EngineKeyFunctions.Run);
            ghost.AddFunction(ContentKeyFunctions.OpenContextMenu);
        }
예제 #2
0
        /// <summary>
        ///     Adds the default set of engine contexts to a context container.
        /// </summary>
        /// <param name="contexts">Default contexts will be set up inside this container.</param>
        public static void SetupContexts(IInputContextContainer contexts)
        {
            var common = contexts.GetContext(InputContextContainer.DefaultContextName);

            common.AddFunction(EngineKeyFunctions.Use);
            common.AddFunction(EngineKeyFunctions.UIClick);

            common.AddFunction(EngineKeyFunctions.CloseModals);
            common.AddFunction(EngineKeyFunctions.EscapeMenu);
            common.AddFunction(EngineKeyFunctions.HideUI);
            common.AddFunction(EngineKeyFunctions.ShowDebugConsole);
            common.AddFunction(EngineKeyFunctions.ShowDebugMonitors);
            common.AddFunction(EngineKeyFunctions.MoveUp);
            common.AddFunction(EngineKeyFunctions.MoveDown);
            common.AddFunction(EngineKeyFunctions.MoveLeft);
            common.AddFunction(EngineKeyFunctions.MoveRight);
            common.AddFunction(EngineKeyFunctions.Run);
            common.AddFunction(EngineKeyFunctions.CameraRotateRight);
            common.AddFunction(EngineKeyFunctions.CameraRotateLeft);

            common.AddFunction(EngineKeyFunctions.GuiTabNavigateNext);
            common.AddFunction(EngineKeyFunctions.GuiTabNavigatePrev);

            common.AddFunction(EngineKeyFunctions.TextCursorLeft);
            common.AddFunction(EngineKeyFunctions.TextCursorRight);
            common.AddFunction(EngineKeyFunctions.TextCursorWordLeft);
            common.AddFunction(EngineKeyFunctions.TextCursorWordRight);
            common.AddFunction(EngineKeyFunctions.TextCursorBegin);
            common.AddFunction(EngineKeyFunctions.TextCursorEnd);

            common.AddFunction(EngineKeyFunctions.TextCursorSelect);
            common.AddFunction(EngineKeyFunctions.TextCursorSelectLeft);
            common.AddFunction(EngineKeyFunctions.TextCursorSelectRight);
            common.AddFunction(EngineKeyFunctions.TextCursorSelectWordLeft);
            common.AddFunction(EngineKeyFunctions.TextCursorSelectWordRight);
            common.AddFunction(EngineKeyFunctions.TextCursorSelectBegin);
            common.AddFunction(EngineKeyFunctions.TextCursorSelectEnd);

            common.AddFunction(EngineKeyFunctions.TextBackspace);
            common.AddFunction(EngineKeyFunctions.TextSubmit);
            common.AddFunction(EngineKeyFunctions.TextCopy);
            common.AddFunction(EngineKeyFunctions.TextCut);
            common.AddFunction(EngineKeyFunctions.TextPaste);
            common.AddFunction(EngineKeyFunctions.TextSelectAll);
            common.AddFunction(EngineKeyFunctions.TextHistoryPrev);
            common.AddFunction(EngineKeyFunctions.TextHistoryNext);
            common.AddFunction(EngineKeyFunctions.TextReleaseFocus);
            common.AddFunction(EngineKeyFunctions.TextScrollToBottom);
            common.AddFunction(EngineKeyFunctions.TextDelete);

            var editor = contexts.New("editor", common);

            editor.AddFunction(EngineKeyFunctions.EditorLinePlace);
            editor.AddFunction(EngineKeyFunctions.EditorGridPlace);
            editor.AddFunction(EngineKeyFunctions.EditorPlaceObject);
            editor.AddFunction(EngineKeyFunctions.EditorCancelPlace);
            editor.AddFunction(EngineKeyFunctions.EditorRotateObject);

            var human = contexts.New("human", common);
        }
예제 #3
0
        public static void SetupContexts(IInputContextContainer contexts)
        {
            var common = contexts.GetContext("common");

            common.AddFunction(ContentKeyFunctions.FocusChat);
            common.AddFunction(ContentKeyFunctions.ExamineEntity);

            var human = contexts.GetContext("human");

            human.AddFunction(ContentKeyFunctions.SwapHands);
            human.AddFunction(ContentKeyFunctions.Drop);
            human.AddFunction(ContentKeyFunctions.ActivateItemInHand);
            human.AddFunction(ContentKeyFunctions.OpenCharacterMenu);
            human.AddFunction(ContentKeyFunctions.UseItemInHand);
            human.AddFunction(ContentKeyFunctions.ActivateItemInWorld);
            human.AddFunction(ContentKeyFunctions.ThrowItemInHand);
            human.AddFunction(ContentKeyFunctions.OpenContextMenu);

            var ghost = contexts.New("ghost", "common");

            ghost.AddFunction(EngineKeyFunctions.MoveUp);
            ghost.AddFunction(EngineKeyFunctions.MoveDown);
            ghost.AddFunction(EngineKeyFunctions.MoveLeft);
            ghost.AddFunction(EngineKeyFunctions.MoveRight);
            ghost.AddFunction(EngineKeyFunctions.Run);
            ghost.AddFunction(ContentKeyFunctions.OpenContextMenu);
        }
예제 #4
0
        public static void SetupContexts(IInputContextContainer contexts)
        {
            var common = contexts.GetContext("common");

            common.AddFunction(ContentKeyFunctions.FocusChat);
            common.AddFunction(ContentKeyFunctions.ExamineEntity);
            common.AddFunction(ContentKeyFunctions.OpenTutorial);
            common.AddFunction(ContentKeyFunctions.UseOrAttack);

            var human = contexts.GetContext("human");

            human.AddFunction(ContentKeyFunctions.SwapHands);
            human.AddFunction(ContentKeyFunctions.Drop);
            human.AddFunction(ContentKeyFunctions.ActivateItemInHand);
            human.AddFunction(ContentKeyFunctions.OpenCharacterMenu);
            human.AddFunction(ContentKeyFunctions.ActivateItemInWorld);
            human.AddFunction(ContentKeyFunctions.ThrowItemInHand);
            human.AddFunction(ContentKeyFunctions.OpenContextMenu);
            human.AddFunction(ContentKeyFunctions.OpenCraftingMenu);
            human.AddFunction(ContentKeyFunctions.OpenInventoryMenu);
            human.AddFunction(ContentKeyFunctions.MouseMiddle);
            human.AddFunction(ContentKeyFunctions.ToggleCombatMode);
            human.AddFunction(ContentKeyFunctions.Attack);

            var ghost = contexts.New("ghost", "common");

            ghost.AddFunction(EngineKeyFunctions.MoveUp);
            ghost.AddFunction(EngineKeyFunctions.MoveDown);
            ghost.AddFunction(EngineKeyFunctions.MoveLeft);
            ghost.AddFunction(EngineKeyFunctions.MoveRight);
            ghost.AddFunction(EngineKeyFunctions.Run);
            ghost.AddFunction(ContentKeyFunctions.OpenContextMenu);
        }
        public static void SetupContexts(IInputContextContainer contexts)
        {
            var common = contexts.GetContext("common");

            common.AddFunction(ContentKeyFunctions.FocusChat);
            common.AddFunction(ContentKeyFunctions.FocusOOC);
            common.AddFunction(ContentKeyFunctions.FocusAdminChat);
            common.AddFunction(ContentKeyFunctions.ExamineEntity);
            common.AddFunction(ContentKeyFunctions.OpenTutorial);
            common.AddFunction(ContentKeyFunctions.TakeScreenshot);
            common.AddFunction(ContentKeyFunctions.TakeScreenshotNoUI);
            common.AddFunction(ContentKeyFunctions.Point);

            var human = contexts.GetContext("human");

            human.AddFunction(ContentKeyFunctions.SwapHands);
            human.AddFunction(ContentKeyFunctions.Drop);
            human.AddFunction(ContentKeyFunctions.ActivateItemInHand);
            human.AddFunction(ContentKeyFunctions.OpenCharacterMenu);
            human.AddFunction(ContentKeyFunctions.ActivateItemInWorld);
            human.AddFunction(ContentKeyFunctions.ThrowItemInHand);
            human.AddFunction(ContentKeyFunctions.TryPullObject);
            human.AddFunction(ContentKeyFunctions.MovePulledObject);
            human.AddFunction(ContentKeyFunctions.ReleasePulledObject);
            human.AddFunction(ContentKeyFunctions.OpenContextMenu);
            human.AddFunction(ContentKeyFunctions.OpenCraftingMenu);
            human.AddFunction(ContentKeyFunctions.OpenInventoryMenu);
            human.AddFunction(ContentKeyFunctions.SmartEquipBackpack);
            human.AddFunction(ContentKeyFunctions.SmartEquipBelt);
            human.AddFunction(ContentKeyFunctions.MouseMiddle);
            human.AddFunction(ContentKeyFunctions.ToggleCombatMode);
            human.AddFunction(ContentKeyFunctions.WideAttack);
            human.AddFunction(ContentKeyFunctions.ArcadeUp);
            human.AddFunction(ContentKeyFunctions.ArcadeDown);
            human.AddFunction(ContentKeyFunctions.ArcadeLeft);
            human.AddFunction(ContentKeyFunctions.ArcadeRight);
            human.AddFunction(ContentKeyFunctions.Arcade1);
            human.AddFunction(ContentKeyFunctions.Arcade2);
            human.AddFunction(ContentKeyFunctions.Arcade3);

            var ghost = contexts.New("ghost", "common");

            ghost.AddFunction(EngineKeyFunctions.MoveUp);
            ghost.AddFunction(EngineKeyFunctions.MoveDown);
            ghost.AddFunction(EngineKeyFunctions.MoveLeft);
            ghost.AddFunction(EngineKeyFunctions.MoveRight);
            ghost.AddFunction(EngineKeyFunctions.Walk);
            ghost.AddFunction(ContentKeyFunctions.OpenContextMenu);

            common.AddFunction(ContentKeyFunctions.OpenEntitySpawnWindow);
            common.AddFunction(ContentKeyFunctions.OpenSandboxWindow);
            common.AddFunction(ContentKeyFunctions.OpenTileSpawnWindow);
            common.AddFunction(ContentKeyFunctions.OpenAdminMenu);
        }
예제 #6
0
        /// <summary>
        ///     Adds the default set of engine contexts to a context container.
        /// </summary>
        /// <param name="contexts">Default contexts will be set up inside this container.</param>
        public static void SetupContexts(IInputContextContainer contexts)
        {
            var common = contexts.GetContext(InputContextContainer.DefaultContextName);

            common.AddFunction(EngineKeyFunctions.EscapeMenu);
            common.AddFunction(EngineKeyFunctions.FocusChat);
            common.AddFunction(EngineKeyFunctions.ShowDebugMonitors);
            common.AddFunction(EngineKeyFunctions.MoveUp);
            common.AddFunction(EngineKeyFunctions.MoveDown);
            common.AddFunction(EngineKeyFunctions.MoveLeft);
            common.AddFunction(EngineKeyFunctions.MoveRight);
            common.AddFunction(EngineKeyFunctions.Run);

            var editor = contexts.New("editor", common);

            editor.AddFunction(EngineKeyFunctions.EditorLinePlace);
            editor.AddFunction(EngineKeyFunctions.EditorGridPlace);
            editor.AddFunction(EngineKeyFunctions.EditorPlaceObject);
            editor.AddFunction(EngineKeyFunctions.EditorCancelPlace);
            editor.AddFunction(EngineKeyFunctions.EditorRotateObject);

            var human = contexts.New("human", common);
        }
예제 #7
0
        /// <summary>
        ///     Adds the default set of engine contexts to a context container.
        /// </summary>
        /// <param name="contexts">Default contexts will be set up inside this container.</param>
        public static void SetupContexts(IInputContextContainer contexts)
        {
            var common = contexts.GetContext(InputContextContainer.DefaultContextName);

            common.AddFunction(EngineKeyFunctions.Use);

            common.AddFunction(EngineKeyFunctions.EscapeMenu);
            common.AddFunction(EngineKeyFunctions.HideUI);
            common.AddFunction(EngineKeyFunctions.ShowDebugConsole);
            common.AddFunction(EngineKeyFunctions.ShowDebugMonitors);
            common.AddFunction(EngineKeyFunctions.MoveUp);
            common.AddFunction(EngineKeyFunctions.MoveDown);
            common.AddFunction(EngineKeyFunctions.MoveLeft);
            common.AddFunction(EngineKeyFunctions.MoveRight);
            common.AddFunction(EngineKeyFunctions.Run);

            common.AddFunction(EngineKeyFunctions.TextCursorLeft);
            common.AddFunction(EngineKeyFunctions.TextCursorRight);
            common.AddFunction(EngineKeyFunctions.TextBackspace);
            common.AddFunction(EngineKeyFunctions.TextSubmit);
            common.AddFunction(EngineKeyFunctions.TextPaste);
            common.AddFunction(EngineKeyFunctions.TextHistoryPrev);
            common.AddFunction(EngineKeyFunctions.TextHistoryNext);
            common.AddFunction(EngineKeyFunctions.TextReleaseFocus);
            common.AddFunction(EngineKeyFunctions.TextScrollToBottom);

            var editor = contexts.New("editor", common);

            editor.AddFunction(EngineKeyFunctions.EditorLinePlace);
            editor.AddFunction(EngineKeyFunctions.EditorGridPlace);
            editor.AddFunction(EngineKeyFunctions.EditorPlaceObject);
            editor.AddFunction(EngineKeyFunctions.EditorCancelPlace);
            editor.AddFunction(EngineKeyFunctions.EditorRotateObject);

            var human = contexts.New("human", common);
        }
예제 #8
0
        public void LoadMacroSets(List <MacroSetDescriptor> macroSets)
        {
            IInputContextContainer contexts = _inputManager.Contexts;

            foreach (MacroSetDescriptor macroSet in macroSets)
            {
                IInputCmdContext context = contexts.New(InputContextPrefix + macroSet.Name, "common");

                foreach (MacroDescriptor macro in macroSet.Macros)
                {
                    BoundKeyFunction       function = new BoundKeyFunction(macro.Id);
                    KeyBindingRegistration binding  = CreateMacroBinding(function, macro.Name);

                    if (binding == null)
                    {
                        continue;
                    }

                    context.AddFunction(function);
                    _inputManager.RegisterBinding(in binding);
                    _inputManager.SetInputCommand(function, InputCmdHandler.FromDelegate(_ => OnMacroPress(macro), _ => OnMacroRelease(macro)));
                }
            }
        }
예제 #9
0
        public static void SetupContexts(IInputContextContainer contexts)
        {
            var common = contexts.GetContext("common");

            common.AddFunction(ContentKeyFunctions.FocusChat);
            common.AddFunction(ContentKeyFunctions.FocusOOC);
            common.AddFunction(ContentKeyFunctions.FocusAdminChat);
            common.AddFunction(ContentKeyFunctions.ExamineEntity);
            common.AddFunction(ContentKeyFunctions.OpenInfo);
            common.AddFunction(ContentKeyFunctions.TakeScreenshot);
            common.AddFunction(ContentKeyFunctions.TakeScreenshotNoUI);
            common.AddFunction(ContentKeyFunctions.Point);

            var human = contexts.GetContext("human");

            human.AddFunction(ContentKeyFunctions.SwapHands);
            human.AddFunction(ContentKeyFunctions.Drop);
            human.AddFunction(ContentKeyFunctions.ActivateItemInHand);
            human.AddFunction(ContentKeyFunctions.OpenCharacterMenu);
            human.AddFunction(ContentKeyFunctions.ActivateItemInWorld);
            human.AddFunction(ContentKeyFunctions.ThrowItemInHand);
            human.AddFunction(ContentKeyFunctions.TryPullObject);
            human.AddFunction(ContentKeyFunctions.MovePulledObject);
            human.AddFunction(ContentKeyFunctions.ReleasePulledObject);
            human.AddFunction(ContentKeyFunctions.OpenContextMenu);
            human.AddFunction(ContentKeyFunctions.OpenCraftingMenu);
            human.AddFunction(ContentKeyFunctions.OpenInventoryMenu);
            human.AddFunction(ContentKeyFunctions.SmartEquipBackpack);
            human.AddFunction(ContentKeyFunctions.SmartEquipBelt);
            human.AddFunction(ContentKeyFunctions.MouseMiddle);
            human.AddFunction(ContentKeyFunctions.WideAttack);
            human.AddFunction(ContentKeyFunctions.ArcadeUp);
            human.AddFunction(ContentKeyFunctions.ArcadeDown);
            human.AddFunction(ContentKeyFunctions.ArcadeLeft);
            human.AddFunction(ContentKeyFunctions.ArcadeRight);
            human.AddFunction(ContentKeyFunctions.Arcade1);
            human.AddFunction(ContentKeyFunctions.Arcade2);
            human.AddFunction(ContentKeyFunctions.Arcade3);

            // actions should be common (for ghosts, mobs, etc)
            common.AddFunction(ContentKeyFunctions.OpenActionsMenu);
            common.AddFunction(ContentKeyFunctions.Hotbar0);
            common.AddFunction(ContentKeyFunctions.Hotbar1);
            common.AddFunction(ContentKeyFunctions.Hotbar2);
            common.AddFunction(ContentKeyFunctions.Hotbar3);
            common.AddFunction(ContentKeyFunctions.Hotbar4);
            common.AddFunction(ContentKeyFunctions.Hotbar5);
            common.AddFunction(ContentKeyFunctions.Hotbar6);
            common.AddFunction(ContentKeyFunctions.Hotbar7);
            common.AddFunction(ContentKeyFunctions.Hotbar8);
            common.AddFunction(ContentKeyFunctions.Hotbar9);
            common.AddFunction(ContentKeyFunctions.Loadout1);
            common.AddFunction(ContentKeyFunctions.Loadout2);
            common.AddFunction(ContentKeyFunctions.Loadout3);
            common.AddFunction(ContentKeyFunctions.Loadout4);
            common.AddFunction(ContentKeyFunctions.Loadout5);
            common.AddFunction(ContentKeyFunctions.Loadout6);
            common.AddFunction(ContentKeyFunctions.Loadout7);
            common.AddFunction(ContentKeyFunctions.Loadout8);
            common.AddFunction(ContentKeyFunctions.Loadout9);

            var ghost = contexts.New("ghost", "common");

            ghost.AddFunction(EngineKeyFunctions.MoveUp);
            ghost.AddFunction(EngineKeyFunctions.MoveDown);
            ghost.AddFunction(EngineKeyFunctions.MoveLeft);
            ghost.AddFunction(EngineKeyFunctions.MoveRight);
            ghost.AddFunction(EngineKeyFunctions.Walk);
            ghost.AddFunction(ContentKeyFunctions.OpenContextMenu);

            common.AddFunction(ContentKeyFunctions.OpenEntitySpawnWindow);
            common.AddFunction(ContentKeyFunctions.OpenSandboxWindow);
            common.AddFunction(ContentKeyFunctions.OpenTileSpawnWindow);
            common.AddFunction(ContentKeyFunctions.OpenAdminMenu);
        }
        public static void SetupContexts(IInputContextContainer contexts)
        {
            var common = contexts.GetContext("common");

            common.AddFunction(ContentKeyFunctions.FocusChat);
            common.AddFunction(ContentKeyFunctions.FocusLocalChat);
            common.AddFunction(ContentKeyFunctions.FocusWhisperChat);
            common.AddFunction(ContentKeyFunctions.FocusRadio);
            common.AddFunction(ContentKeyFunctions.FocusOOC);
            common.AddFunction(ContentKeyFunctions.FocusAdminChat);
            common.AddFunction(ContentKeyFunctions.FocusConsoleChat);
            common.AddFunction(ContentKeyFunctions.FocusDeadChat);
            common.AddFunction(ContentKeyFunctions.CycleChatChannelForward);
            common.AddFunction(ContentKeyFunctions.CycleChatChannelBackward);
            common.AddFunction(ContentKeyFunctions.ExamineEntity);
            common.AddFunction(ContentKeyFunctions.OpenInfo);
            common.AddFunction(ContentKeyFunctions.TakeScreenshot);
            common.AddFunction(ContentKeyFunctions.TakeScreenshotNoUI);
            common.AddFunction(ContentKeyFunctions.Point);
            common.AddFunction(ContentKeyFunctions.OpenContextMenu);

            // Not in engine, because engine cannot check for sanbox/admin status before starting placement.
            common.AddFunction(ContentKeyFunctions.EditorCopyObject);

            var human = contexts.GetContext("human");

            human.AddFunction(EngineKeyFunctions.MoveUp);
            human.AddFunction(EngineKeyFunctions.MoveDown);
            human.AddFunction(EngineKeyFunctions.MoveLeft);
            human.AddFunction(EngineKeyFunctions.MoveRight);
            human.AddFunction(EngineKeyFunctions.Walk);
            human.AddFunction(ContentKeyFunctions.SwapHands);
            human.AddFunction(ContentKeyFunctions.Drop);
            human.AddFunction(ContentKeyFunctions.UseItemInHand);
            human.AddFunction(ContentKeyFunctions.AltUseItemInHand);
            human.AddFunction(ContentKeyFunctions.OpenCharacterMenu);
            human.AddFunction(ContentKeyFunctions.ActivateItemInWorld);
            human.AddFunction(ContentKeyFunctions.ThrowItemInHand);
            human.AddFunction(ContentKeyFunctions.AltActivateItemInWorld);
            human.AddFunction(ContentKeyFunctions.TryPullObject);
            human.AddFunction(ContentKeyFunctions.MovePulledObject);
            human.AddFunction(ContentKeyFunctions.ReleasePulledObject);
            human.AddFunction(ContentKeyFunctions.OpenCraftingMenu);
            human.AddFunction(ContentKeyFunctions.OpenInventoryMenu);
            human.AddFunction(ContentKeyFunctions.SmartEquipBackpack);
            human.AddFunction(ContentKeyFunctions.SmartEquipBelt);
            human.AddFunction(ContentKeyFunctions.MouseMiddle);
            human.AddFunction(ContentKeyFunctions.ArcadeUp);
            human.AddFunction(ContentKeyFunctions.ArcadeDown);
            human.AddFunction(ContentKeyFunctions.ArcadeLeft);
            human.AddFunction(ContentKeyFunctions.ArcadeRight);
            human.AddFunction(ContentKeyFunctions.Arcade1);
            human.AddFunction(ContentKeyFunctions.Arcade2);
            human.AddFunction(ContentKeyFunctions.Arcade3);

            // actions should be common (for ghosts, mobs, etc)
            common.AddFunction(ContentKeyFunctions.OpenActionsMenu);
            common.AddFunction(ContentKeyFunctions.Hotbar0);
            common.AddFunction(ContentKeyFunctions.Hotbar1);
            common.AddFunction(ContentKeyFunctions.Hotbar2);
            common.AddFunction(ContentKeyFunctions.Hotbar3);
            common.AddFunction(ContentKeyFunctions.Hotbar4);
            common.AddFunction(ContentKeyFunctions.Hotbar5);
            common.AddFunction(ContentKeyFunctions.Hotbar6);
            common.AddFunction(ContentKeyFunctions.Hotbar7);
            common.AddFunction(ContentKeyFunctions.Hotbar8);
            common.AddFunction(ContentKeyFunctions.Hotbar9);
            common.AddFunction(ContentKeyFunctions.Loadout1);
            common.AddFunction(ContentKeyFunctions.Loadout2);
            common.AddFunction(ContentKeyFunctions.Loadout3);
            common.AddFunction(ContentKeyFunctions.Loadout4);
            common.AddFunction(ContentKeyFunctions.Loadout5);
            common.AddFunction(ContentKeyFunctions.Loadout6);
            common.AddFunction(ContentKeyFunctions.Loadout7);
            common.AddFunction(ContentKeyFunctions.Loadout8);
            common.AddFunction(ContentKeyFunctions.Loadout9);

            var aghost = contexts.New("aghost", "common");

            aghost.AddFunction(EngineKeyFunctions.MoveUp);
            aghost.AddFunction(EngineKeyFunctions.MoveDown);
            aghost.AddFunction(EngineKeyFunctions.MoveLeft);
            aghost.AddFunction(EngineKeyFunctions.MoveRight);
            aghost.AddFunction(EngineKeyFunctions.Walk);
            aghost.AddFunction(ContentKeyFunctions.SwapHands);
            aghost.AddFunction(ContentKeyFunctions.Drop);
            aghost.AddFunction(ContentKeyFunctions.ThrowItemInHand);

            var ghost = contexts.New("ghost", "human");

            ghost.AddFunction(EngineKeyFunctions.MoveUp);
            ghost.AddFunction(EngineKeyFunctions.MoveDown);
            ghost.AddFunction(EngineKeyFunctions.MoveLeft);
            ghost.AddFunction(EngineKeyFunctions.MoveRight);
            ghost.AddFunction(EngineKeyFunctions.Walk);

            common.AddFunction(ContentKeyFunctions.OpenEntitySpawnWindow);
            common.AddFunction(ContentKeyFunctions.OpenSandboxWindow);
            common.AddFunction(ContentKeyFunctions.OpenTileSpawnWindow);
            common.AddFunction(ContentKeyFunctions.OpenDecalSpawnWindow);
            common.AddFunction(ContentKeyFunctions.OpenAdminMenu);
        }