Esempio n. 1
0
        private void ShowNextPage()
        {
            int lastPage = CalcLastPageIdx();
            int current  = (int)m_currentPage;

            current       = (current + 1) % (lastPage + 1);
            m_currentPage = (HelpPageEnum)current;
            RecreateControls(false);
        }
Esempio n. 2
0
        private void ShowPreviousPage()
        {
            int lastPage = CalcLastPageIdx();
            int current  = (int)m_currentPage;

            current       = (current == 0) ? lastPage : current - 1;
            m_currentPage = (HelpPageEnum)current;
            RecreateControls(false);
        }
Esempio n. 3
0
        public MyGuiScreenHelpSpace()
            : base(new Vector2(0.5f, 0.5f), MyGuiConstants.SCREEN_BACKGROUND_COLOR, new Vector2(1f, 0.98f))
        {
            EnabledBackgroundFade = true;

            m_pages      = new HelpPage[typeof(HelpPageEnum).GetEnumValues().Length];
            m_pageTitles = new String[m_pages.Length];

            m_pages[(int)HelpPageEnum.Basic]      = new HelpPage();
            m_pages[(int)HelpPageEnum.Advanced]   = new HelpPage();
            m_pages[(int)HelpPageEnum.Advanced2]  = new HelpPage();
            m_pages[(int)HelpPageEnum.Spectator]  = new HelpPage();
            m_pages[(int)HelpPageEnum.Developer]  = new HelpPage();
            m_pages[(int)HelpPageEnum.Developer2] = new HelpPage();

            m_pageTitles[(int)HelpPageEnum.Basic]      = MyTexts.GetString(MyCommonTexts.BasicControls);
            m_pageTitles[(int)HelpPageEnum.Advanced]   = MyTexts.GetString(MyCommonTexts.AdvancedControls);
            m_pageTitles[(int)HelpPageEnum.Advanced2]  = MyTexts.GetString(MyCommonTexts.AdvancedControls);
            m_pageTitles[(int)HelpPageEnum.Spectator]  = MyTexts.GetString(MyCommonTexts.SpectatorControls);
            m_pageTitles[(int)HelpPageEnum.Developer]  = "Developer Controls";
            m_pageTitles[(int)HelpPageEnum.Developer2] = "Developer Controls";

            HelpPage basicPage      = m_pages[(int)HelpPageEnum.Basic];
            HelpPage advancedPage   = m_pages[(int)HelpPageEnum.Advanced];
            HelpPage advancedPage2  = m_pages[(int)HelpPageEnum.Advanced2];
            HelpPage spectatorPage  = m_pages[(int)HelpPageEnum.Spectator];
            HelpPage developerPage  = m_pages[(int)HelpPageEnum.Developer];
            HelpPage developer2Page = m_pages[(int)HelpPageEnum.Developer2];

            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.BUILD_SCREEN));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.FORWARD));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.BACKWARD));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.STRAFE_LEFT));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.STRAFE_RIGHT));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.ROLL_LEFT));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.ROLL_RIGHT));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.JUMP));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CROUCH));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SWITCH_WALK));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CAMERA_MODE));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.DAMPING));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.THRUSTS));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.BROADCASTING));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.HELMET));
            if (MySession.Static != null && (MySession.Static.IsScenario || MySession.Static.Settings.ScenarioEditMode))
            {
                basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.MISSION_SETTINGS));
            }

            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.PRIMARY_TOOL_ACTION));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT1));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT2));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT3));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT4));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT5));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT6));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT7));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT8));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT9));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT0));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.TOOLBAR_UP));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.TOOLBAR_DOWN));
            basicPage.RightColumn.Add(new ControlWithDescription("Shift + " + MyInput.Static.GetGameControl(MyControlsSpace.SLOT1).ToString(), "Select toolbar page 1"));
            basicPage.RightColumn.Add(new ControlWithDescription("Shift + " + MyInput.Static.GetGameControl(MyControlsSpace.SLOT2).ToString(), "Select toolbar page 2"));
            basicPage.RightColumn.Add(new ControlWithDescription("Shift + " + MyInput.Static.GetGameControl(MyControlsSpace.SLOT3).ToString(), "Select toolbar page 3"));
            basicPage.RightColumn.Add(new ControlWithDescription("Shift + " + MyInput.Static.GetGameControl(MyControlsSpace.SLOT4).ToString(), "Select toolbar page 4"));

            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SPRINT));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.LOOKAROUND));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.LANDING_GEAR));

            advancedPage.LeftColumn.Add(new ControlWithDescription("Shift + " + MyInput.Static.GetGameControl(MyControlsSpace.LANDING_GEAR).ToString(), "Pick color from cube into slot"));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyTexts.Get(MyCommonTexts.MouseWheel), MyTexts.Get(MySpaceTexts.ControlDescZoom)));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SECONDARY_TOOL_ACTION));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.USE));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.INVENTORY));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.TOGGLE_REACTORS));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.TERMINAL));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.HEADLIGHTS));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SUICIDE));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.TOGGLE_HUD));

            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + C", "Copy object"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + Shift + C", "Copy object detached"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + V", "Paste object"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + X", "Delete object"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + B", "Create/manage blueprints"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("F10", "Open blueprint screen"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Shift + F10", "Open spawn screen"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Alt + F10", "Open admin screen"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + " + MyTexts.GetString(MyCommonTexts.MouseWheel), MyTexts.GetString(MyCommonTexts.ControlDescCopyPasteMove)));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + Alt+ E", MyTexts.GetString(MyCommonTexts.ControlDescExportModel)));

            StringBuilder repaintControlText = null;

            MyInput.Static.GetGameControl(MyControlsSpace.CUBE_COLOR_CHANGE).AppendBoundButtonNames(ref repaintControlText, unassignedText: MyInput.Static.GetUnassignedName());
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.HELP_SCREEN));
            //advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.CHAT_SCREEN));
            advancedPage.RightColumn.Add(new ControlWithDescription("F3", MyTexts.GetString(MyCommonTexts.ControlDescPlayersList)));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.CHAT_SCREEN));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.CONSOLE));

            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SCREENSHOT));
            //advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SHOW_DAMAGED));
            advancedPage.RightColumn.Add(new ControlWithDescription("F5", MyTexts.GetString(MyCommonTexts.ControlDescQuickLoad)));
            advancedPage.RightColumn.Add(new ControlWithDescription("Shift + F5", MyTexts.GetString(MyCommonTexts.ControlDescQuickSave)));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.PAUSE_GAME));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyInput.Static.GetGameControl(MyControlsSpace.LANDING_GEAR).ToStringBuilder(MyInput.Static.GetUnassignedName()), MyTexts.Get(MySpaceTexts.TerminalControlPanel_Cockpit_Handbrake)));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyInput.Static.GetGameControl(MyControlsSpace.JUMP).ToStringBuilder(MyInput.Static.GetUnassignedName()), MyTexts.Get(MySpaceTexts.ControlDescBrake)));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyInput.Static.GetGameControl(MyControlsSpace.INVENTORY).ToStringBuilder(MyInput.Static.GetUnassignedName()).Append("/").Append(MyInput.Static.GetGameControl(MyControlsSpace.TERMINAL).ToString()),
                                                                    MyTexts.Get(MySpaceTexts.ControlDescLoot)));
            advancedPage.RightColumn.Add(new ControlWithDescription("", ""));
            advancedPage.RightColumn.Add(new ControlWithDescription(new StringBuilder(), MyTexts.Get(MyCommonTexts.Factions), rightFont: MyFontEnum.Red));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyTexts.Get(MySpaceTexts.HelpScreen_FactionColor_Blue), MyTexts.Get(MySpaceTexts.Factions_YourBlock), new StringBuilder("Textures\\HUD\\marker_self.dds"), new Color(117, 201, 241), MyFontEnum.Blue));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyTexts.Get(MySpaceTexts.HelpScreen_FactionColor_Green), MyTexts.Get(MySpaceTexts.Factions_YourFaction), new StringBuilder("Textures\\HUD\\marker_friendly.dds"), new Color(101, 178, 90), MyFontEnum.Green));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyTexts.Get(MySpaceTexts.HelpScreen_FactionColor_White), MyTexts.Get(MySpaceTexts.Factions_NeutralFaction), new StringBuilder("Textures\\HUD\\marker_neutral.dds"), Color.White, MyFontEnum.White));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyTexts.Get(MySpaceTexts.HelpScreen_FactionColor_Red), MyTexts.Get(MySpaceTexts.Factions_EnemyFaction), new StringBuilder("Textures\\HUD\\marker_enemy.dds"), new Color(227, 62, 63)));

            advancedPage.RightColumn.Add(new ControlWithDescription("", ""));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.ROTATION_LEFT));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.ROTATION_RIGHT));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.ROTATION_UP));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.ROTATION_DOWN));

            advancedPage2.RightColumn.Add(new ControlWithDescription(repaintControlText, MyTexts.Get(MySpaceTexts.ControlDescSingleAllMode)));
            advancedPage2.RightColumn.Add(new ControlWithDescription(repaintControlText, MyTexts.Get(MySpaceTexts.ControlDescHoldToColor)));
            advancedPage2.RightColumn.Add(new ControlWithDescription("Ctrl + " + repaintControlText, MyTexts.GetString(MySpaceTexts.ControlDescMediumBrush)));
            advancedPage2.RightColumn.Add(new ControlWithDescription("Shift + " + repaintControlText, MyTexts.GetString(MySpaceTexts.ControlDescLargeBrush)));

            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CUBE_ROTATE_VERTICAL_POSITIVE));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CUBE_ROTATE_VERTICAL_NEGATIVE));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CUBE_ROTATE_HORISONTAL_POSITIVE));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CUBE_ROTATE_HORISONTAL_NEGATIVE));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CUBE_ROTATE_ROLL_POSITIVE));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CUBE_ROTATE_ROLL_NEGATIVE));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.FREE_ROTATION));
            advancedPage2.LeftColumn.Add(new ControlWithDescription("Ctrl + G", MyTexts.GetString(MySpaceTexts.SwitchBuilderMode)));

            // Get control for toggling the block size
            StringBuilder resizeBlockControl             = null;
            MyControl     cubeBuilderCubesizeModeControl = MyInput.Static.GetGameControl(MyControlsSpace.CUBE_BUILDER_CUBESIZE_MODE);

            cubeBuilderCubesizeModeControl.AppendBoundButtonNames(ref resizeBlockControl, unassignedText: MyInput.Static.GetUnassignedName());

            // Add block editing controls
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyTexts.Get(MyCommonTexts.MouseWheel), MyTexts.Get(MyCommonTexts.ControlName_ChangeBlockVariants)));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(resizeBlockControl, MyTexts.Get(cubeBuilderCubesizeModeControl.GetControlName())));

            advancedPage2.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SWITCH_LEFT));
            advancedPage2.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SWITCH_RIGHT));
            advancedPage2.RightColumn.Add(new ControlWithDescription(MyTexts.Get(MyCommonTexts.MouseWheel), MyTexts.Get(MySpaceTexts.ControlDescCameraZoom)));
            advancedPage2.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SYMMETRY_SWITCH));
            advancedPage2.RightColumn.Add(new ControlWithDescription(MyControlsSpace.USE_SYMMETRY));
            advancedPage2.RightColumn.Add(new ControlWithDescription("", ""));
            advancedPage2.RightColumn.Add(new ControlWithDescription("Ctrl + H", MyTexts.GetString(MySpaceTexts.ControlDescNetgraph)));

            advancedPage2.RightColumn.Add(new ControlWithDescription("[", MyTexts.GetString(MyCommonTexts.ControlDescNextVoxelMaterial)));
            advancedPage2.RightColumn.Add(new ControlWithDescription("]", MyTexts.GetString(MyCommonTexts.ControlDescPreviousVoxelMaterial)));
            advancedPage2.RightColumn.Add(new ControlWithDescription("H", MyTexts.GetString(MyCommonTexts.ControlDescOpenVoxelHandSettings)));


            spectatorPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SPECTATOR_NONE));
            spectatorPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SPECTATOR_DELTA));
            spectatorPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SPECTATOR_FREE));
            spectatorPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SPECTATOR_STATIC));


            //These keys are to be used just for developers or testing
            if (MyInput.Static.ENABLE_DEVELOPER_KEYS)
            {
                // Developers
                developerPage.LeftColumn.Add(new ControlWithDescription("Ctrl + NumPad0", "Enable/Disable debug input - global"));
                developerPage.LeftColumn.Add(new ControlWithDescription("Ctrl + NumPad1", "Enable/Disable debug input - character"));
                developerPage.LeftColumn.Add(new ControlWithDescription("Ctrl + NumPad2", "Enable/Disable debug input - Ondra"));
                developerPage.LeftColumn.Add(new ControlWithDescription("Ctrl + NumPad3", "Enable/Disable debug input - Peta"));
                developerPage.LeftColumn.Add(new ControlWithDescription("Ctrl + NumPad4", "Enable/Disable debug input - Martin"));
                developerPage.LeftColumn.Add(new ControlWithDescription("F11", "Game statistics"));
                developerPage.LeftColumn.Add(new ControlWithDescription("Shift + F11", "Frame info (FPS and stuff)"));
                developerPage.LeftColumn.Add(new ControlWithDescription("F12", "Debug screen"));

                developerPage.LeftColumn.Add(new ControlWithDescription("", ""));
                developerPage.LeftColumn.Add(new ControlWithDescription("", "Character Debug Input"));
                developerPage.LeftColumn.Add(new ControlWithDescription("U", "Add astronaut (current color)"));
                developerPage.LeftColumn.Add(new ControlWithDescription("NumPad7", "Switch to next ship"));
                developerPage.LeftColumn.Add(new ControlWithDescription("NumPad8", "Switch to next character"));

                developerPage.RightColumn.Add(new ControlWithDescription("", "Global Debug Input"));
                developerPage.RightColumn.Add(new ControlWithDescription("F6", "Switch between astronauts"));
                developerPage.RightColumn.Add(new ControlWithDescription("F7", "Switch to fixed dir. 3rd person camera"));
                developerPage.RightColumn.Add(new ControlWithDescription("F8", "Switch to spectator camera"));
                developerPage.RightColumn.Add(new ControlWithDescription("Ctrl + F8", "Reset spectator camera"));
                developerPage.RightColumn.Add(new ControlWithDescription("F9", "Switch to static 3rd person"));
                developerPage.RightColumn.Add(new ControlWithDescription("Ctrl + Space", "Move character to spectator position"));
                developerPage.RightColumn.Add(new ControlWithDescription("NumPad3", "Apply large force to controlled object."));
                developerPage.RightColumn.Add(new ControlWithDescription("NumPad6", "Apply small force to controlled object."));
                developerPage.RightColumn.Add(new ControlWithDescription("Ctrl + Shift + Z", "Save prefab"));

                developer2Page.LeftColumn.Add(new ControlWithDescription("", "Debug Input - Ondra"));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + Insert", "Merge all grids."));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + Delete", "Remove all characters."));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + NumDecimal", "Remove all except controlled object."));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + J", "Duplicate current grid."));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + C", "Copy target (of cube builder gizmo)"));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + X", "Cut target (of cube builder gizmo)"));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + V", "Paste"));

                developer2Page.LeftColumn.Add(new ControlWithDescription("", ""));
                developer2Page.LeftColumn.Add(new ControlWithDescription("", "Debug Input - Peta"));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Numpad0", "Add weapons, ammo and components to inventory."));

                developer2Page.RightColumn.Add(new ControlWithDescription("", "Debug Input - Martin"));
                developer2Page.RightColumn.Add(new ControlWithDescription("M + Numpad2", "Toggle thrusts on/off."));
                developer2Page.RightColumn.Add(new ControlWithDescription("M + Numpad3", "Toggle shooting turrets."));
                developer2Page.RightColumn.Add(new ControlWithDescription("M + Numpad4", "Reload definitions."));
                developer2Page.RightColumn.Add(new ControlWithDescription("M + Numpad5", "Show screen with all definition icons."));
                developer2Page.RightColumn.Add(new ControlWithDescription("M + Numpad6", "Remove all floating objects."));
            }

            AddProfilerControls(developerPage);

            m_currentPage      = HelpPageEnum.Basic;
            CloseButtonEnabled = true;
            RecreateControls(true);
        }
        public MyGuiScreenHelpSpace()
            : base(new Vector2(0.5f, 0.5f), MyGuiConstants.SCREEN_BACKGROUND_COLOR, new Vector2(1f, 0.98f))
        {
            EnabledBackgroundFade = true;

            m_pages = new HelpPage[typeof(HelpPageEnum).GetEnumValues().Length];
            m_pageTitles = new String[m_pages.Length];

            m_pages[(int)HelpPageEnum.Basic] = new HelpPage();
            m_pages[(int)HelpPageEnum.Advanced] = new HelpPage();
            m_pages[(int)HelpPageEnum.Advanced2] = new HelpPage();
            m_pages[(int)HelpPageEnum.Spectator] = new HelpPage();
            m_pages[(int)HelpPageEnum.Performance] = new HelpPage();
            m_pages[(int)HelpPageEnum.Developer] = new HelpPage();
            m_pages[(int)HelpPageEnum.Developer2] = new HelpPage();

            m_pageTitles[(int)HelpPageEnum.Basic] = MyTexts.GetString(MyCommonTexts.BasicControls);
            m_pageTitles[(int)HelpPageEnum.Advanced] = MyTexts.GetString(MyCommonTexts.AdvancedControls);
            m_pageTitles[(int)HelpPageEnum.Advanced2] = MyTexts.GetString(MyCommonTexts.AdvancedControls);
            m_pageTitles[(int)HelpPageEnum.Spectator] = MyTexts.GetString(MyCommonTexts.SpectatorControls);
            m_pageTitles[(int)HelpPageEnum.Performance] = MyTexts.GetString(MyCommonTexts.PerformanceWarningHelpHeader);
            m_pageTitles[(int)HelpPageEnum.Developer] = "Developer Controls";
            m_pageTitles[(int)HelpPageEnum.Developer2] = "Developer Controls";

            HelpPage basicPage = m_pages[(int)HelpPageEnum.Basic];
            HelpPage advancedPage = m_pages[(int)HelpPageEnum.Advanced];
            HelpPage advancedPage2 = m_pages[(int)HelpPageEnum.Advanced2];
            HelpPage spectatorPage = m_pages[(int)HelpPageEnum.Spectator];
            HelpPage performancePage = m_pages[(int)HelpPageEnum.Performance];
            HelpPage developerPage = m_pages[(int)HelpPageEnum.Developer];
            HelpPage developer2Page = m_pages[(int)HelpPageEnum.Developer2];

            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.BUILD_SCREEN));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.FORWARD));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.BACKWARD));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.STRAFE_LEFT));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.STRAFE_RIGHT));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.ROLL_LEFT));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.ROLL_RIGHT));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.JUMP));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CROUCH));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SWITCH_WALK));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CAMERA_MODE));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.DAMPING));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.THRUSTS));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.BROADCASTING));
            basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.HELMET));
			if (MySession.Static != null && (MySession.Static.IsScenario || MySession.Static.Settings.ScenarioEditMode))
				basicPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.MISSION_SETTINGS));

            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.PRIMARY_TOOL_ACTION));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT1));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT2));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT3));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT4));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT5));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT6));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT7));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT8));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT9));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SLOT0));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.TOOLBAR_UP));
            basicPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.TOOLBAR_DOWN));
            basicPage.RightColumn.Add(new ControlWithDescription("Shift + " + MyInput.Static.GetGameControl(MyControlsSpace.SLOT1).ToString(), "Select toolbar page 1"));
            basicPage.RightColumn.Add(new ControlWithDescription("Shift + " + MyInput.Static.GetGameControl(MyControlsSpace.SLOT2).ToString(), "Select toolbar page 2"));
            basicPage.RightColumn.Add(new ControlWithDescription("Shift + " + MyInput.Static.GetGameControl(MyControlsSpace.SLOT3).ToString(), "Select toolbar page 3"));
            basicPage.RightColumn.Add(new ControlWithDescription("Shift + " + MyInput.Static.GetGameControl(MyControlsSpace.SLOT4).ToString(), "Select toolbar page 4"));

            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SPRINT));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.LOOKAROUND));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.LANDING_GEAR));

            advancedPage.LeftColumn.Add(new ControlWithDescription("Shift + " + MyInput.Static.GetGameControl(MyControlsSpace.LANDING_GEAR).ToString(), "Pick color from cube into slot"));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyTexts.Get(MyCommonTexts.MouseWheel), MyTexts.Get(MySpaceTexts.ControlDescZoom)));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SECONDARY_TOOL_ACTION));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.USE));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.INVENTORY));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.TOGGLE_REACTORS));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.TERMINAL));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.HEADLIGHTS));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SUICIDE));
            advancedPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.TOGGLE_HUD));

            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + C", "Copy object"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + Shift + C", "Copy object detached"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + V", "Paste object"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + X", "Delete object"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + B", "Create/manage blueprints"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("F10", "Open blueprint screen"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Shift + F10", "Open spawn screen"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Alt + F10", "Open admin screen"));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + " + MyTexts.GetString(MyCommonTexts.MouseWheel), MyTexts.GetString(MyCommonTexts.ControlDescCopyPasteMove)));
            advancedPage.LeftColumn.Add(new ControlWithDescription("Ctrl + Alt+ E", MyTexts.GetString(MyCommonTexts.ControlDescExportModel)));

            StringBuilder repaintControlText = null;
            MyInput.Static.GetGameControl(MyControlsSpace.CUBE_COLOR_CHANGE).AppendBoundButtonNames(ref repaintControlText, unassignedText: MyInput.Static.GetUnassignedName());
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.HELP_SCREEN));
            //advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.CHAT_SCREEN));
            advancedPage.RightColumn.Add(new ControlWithDescription("F3", MyTexts.GetString(MyCommonTexts.ControlDescPlayersList)));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.CHAT_SCREEN));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.CONSOLE));

            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SCREENSHOT));
            //advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SHOW_DAMAGED));
            advancedPage.RightColumn.Add(new ControlWithDescription("F5", MyTexts.GetString(MyCommonTexts.ControlDescQuickLoad)));
            advancedPage.RightColumn.Add(new ControlWithDescription("Shift + F5", MyTexts.GetString(MyCommonTexts.ControlDescQuickSave)));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.PAUSE_GAME));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyInput.Static.GetGameControl(MyControlsSpace.LANDING_GEAR).ToStringBuilder(MyInput.Static.GetUnassignedName()), MyTexts.Get(MySpaceTexts.TerminalControlPanel_Cockpit_Handbrake)));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyInput.Static.GetGameControl(MyControlsSpace.JUMP).ToStringBuilder(MyInput.Static.GetUnassignedName()), MyTexts.Get(MySpaceTexts.ControlDescBrake)));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyInput.Static.GetGameControl(MyControlsSpace.INVENTORY).ToStringBuilder(MyInput.Static.GetUnassignedName()).Append("/").Append(MyInput.Static.GetGameControl(MyControlsSpace.TERMINAL).ToString()),
                MyTexts.Get(MySpaceTexts.ControlDescLoot)));
            advancedPage.RightColumn.Add(new ControlWithDescription("", ""));
            advancedPage.RightColumn.Add(new ControlWithDescription(new StringBuilder(), MyTexts.Get(MyCommonTexts.Factions), rightFont: MyFontEnum.Red));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyTexts.Get(MySpaceTexts.HelpScreen_FactionColor_Blue), MyTexts.Get(MySpaceTexts.Factions_YourBlock), new StringBuilder("Textures\\HUD\\marker_self.dds"), new Color(117, 201, 241), MyFontEnum.Blue));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyTexts.Get(MySpaceTexts.HelpScreen_FactionColor_Green), MyTexts.Get(MySpaceTexts.Factions_YourFaction), new StringBuilder("Textures\\HUD\\marker_friendly.dds"), new Color(101, 178, 90), MyFontEnum.Green));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyTexts.Get(MySpaceTexts.HelpScreen_FactionColor_White), MyTexts.Get(MySpaceTexts.Factions_NeutralFaction), new StringBuilder("Textures\\HUD\\marker_neutral.dds"), Color.White, MyFontEnum.White));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyTexts.Get(MySpaceTexts.HelpScreen_FactionColor_Red), MyTexts.Get(MySpaceTexts.Factions_EnemyFaction), new StringBuilder("Textures\\HUD\\marker_enemy.dds"), new Color(227, 62, 63)));

            advancedPage.RightColumn.Add(new ControlWithDescription("", ""));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.ROTATION_LEFT));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.ROTATION_RIGHT));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.ROTATION_UP));
            advancedPage.RightColumn.Add(new ControlWithDescription(MyControlsSpace.ROTATION_DOWN));

            advancedPage2.RightColumn.Add(new ControlWithDescription(repaintControlText, MyTexts.Get(MySpaceTexts.ControlDescSingleAllMode)));
            advancedPage2.RightColumn.Add(new ControlWithDescription(repaintControlText, MyTexts.Get(MySpaceTexts.ControlDescHoldToColor)));
            advancedPage2.RightColumn.Add(new ControlWithDescription("Ctrl + " + repaintControlText, MyTexts.GetString(MySpaceTexts.ControlDescMediumBrush)));
            advancedPage2.RightColumn.Add(new ControlWithDescription("Shift + " + repaintControlText, MyTexts.GetString(MySpaceTexts.ControlDescLargeBrush)));

            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CUBE_ROTATE_VERTICAL_POSITIVE));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CUBE_ROTATE_VERTICAL_NEGATIVE));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CUBE_ROTATE_HORISONTAL_POSITIVE));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CUBE_ROTATE_HORISONTAL_NEGATIVE));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CUBE_ROTATE_ROLL_POSITIVE));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.CUBE_ROTATE_ROLL_NEGATIVE));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.FREE_ROTATION));
            advancedPage2.LeftColumn.Add(new ControlWithDescription("Ctrl + G", MyTexts.GetString(MySpaceTexts.SwitchBuilderMode)));

            // Get control for toggling the block size
            StringBuilder resizeBlockControl = null;
            MyControl cubeBuilderCubesizeModeControl = MyInput.Static.GetGameControl(MyControlsSpace.CUBE_BUILDER_CUBESIZE_MODE);
            cubeBuilderCubesizeModeControl.AppendBoundButtonNames(ref resizeBlockControl, unassignedText: MyInput.Static.GetUnassignedName());

            // Add block editing controls
            advancedPage2.LeftColumn.Add(new ControlWithDescription(MyTexts.Get(MyCommonTexts.MouseWheel), MyTexts.Get(MyCommonTexts.ControlName_ChangeBlockVariants)));
            advancedPage2.LeftColumn.Add(new ControlWithDescription(resizeBlockControl, MyTexts.Get(cubeBuilderCubesizeModeControl.GetControlName())));

            advancedPage2.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SWITCH_LEFT));
            advancedPage2.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SWITCH_RIGHT));
            advancedPage2.RightColumn.Add(new ControlWithDescription(MyTexts.Get(MyCommonTexts.MouseWheel), MyTexts.Get(MySpaceTexts.ControlDescCameraZoom)));
            advancedPage2.RightColumn.Add(new ControlWithDescription(MyControlsSpace.SYMMETRY_SWITCH));
            advancedPage2.RightColumn.Add(new ControlWithDescription(MyControlsSpace.USE_SYMMETRY));
            advancedPage2.RightColumn.Add(new ControlWithDescription("", ""));
            advancedPage2.RightColumn.Add(new ControlWithDescription("Ctrl + H", MyTexts.GetString(MySpaceTexts.ControlDescNetgraph)));

            advancedPage2.RightColumn.Add(new ControlWithDescription("[", MyTexts.GetString(MyCommonTexts.ControlDescNextVoxelMaterial)));
            advancedPage2.RightColumn.Add(new ControlWithDescription("]", MyTexts.GetString(MyCommonTexts.ControlDescPreviousVoxelMaterial)));
            advancedPage2.RightColumn.Add(new ControlWithDescription("H", MyTexts.GetString(MyCommonTexts.ControlDescOpenVoxelHandSettings)));


            spectatorPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SPECTATOR_NONE));
            spectatorPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SPECTATOR_DELTA));
            spectatorPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SPECTATOR_FREE));
            spectatorPage.LeftColumn.Add(new ControlWithDescription(MyControlsSpace.SPECTATOR_STATIC));

            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaBlocks), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaBlocksDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaGrid), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaGridDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaConveyor), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaConveyorDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaGyro), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaGyroDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaOxygen), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaOxygenDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaAI), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaAIDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaScripts), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaScriptsDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaPhysics), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaPhysicsDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaRender), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaRenderDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaTextures), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaTexturesDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription("", ""));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaClearAndGeometryRender), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaClearAndGeometryRenderDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaTransparentPass), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaTransparentPassDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaLights), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaLightsDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaShadows), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaShadowsDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaRenderFoliage), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaRenderFoliageDescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaSSAO), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaSSAODescription)));
            performancePage.LeftColumn.Add(new ControlWithDescription(MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaPostProcess), MyTexts.GetString(MyCommonTexts.PerformanceWarningAreaPostProcessDescription)));
            

            //These keys are to be used just for developers or testing
            if (MyInput.Static.ENABLE_DEVELOPER_KEYS)
            {
                // Developers
                developerPage.LeftColumn.Add(new ControlWithDescription("Ctrl + NumPad0", "Enable/Disable debug input - global"));
                developerPage.LeftColumn.Add(new ControlWithDescription("Ctrl + NumPad1", "Enable/Disable debug input - character"));
                developerPage.LeftColumn.Add(new ControlWithDescription("Ctrl + NumPad2", "Enable/Disable debug input - Ondra"));
                developerPage.LeftColumn.Add(new ControlWithDescription("Ctrl + NumPad3", "Enable/Disable debug input - Peta"));
                developerPage.LeftColumn.Add(new ControlWithDescription("Ctrl + NumPad4", "Enable/Disable debug input - Martin"));
                developerPage.LeftColumn.Add(new ControlWithDescription("F11", "Game statistics"));
                developerPage.LeftColumn.Add(new ControlWithDescription("Shift + F11", "Frame info (FPS and stuff)"));
                developerPage.LeftColumn.Add(new ControlWithDescription("F12", "Debug screen"));

                developerPage.LeftColumn.Add(new ControlWithDescription("", ""));
                developerPage.LeftColumn.Add(new ControlWithDescription("", "Character Debug Input"));
                developerPage.LeftColumn.Add(new ControlWithDescription("U", "Add astronaut (current color)"));
                developerPage.LeftColumn.Add(new ControlWithDescription("NumPad7", "Switch to next ship"));
                developerPage.LeftColumn.Add(new ControlWithDescription("NumPad8", "Switch to next character"));

                developerPage.RightColumn.Add(new ControlWithDescription("", "Global Debug Input"));
                developerPage.RightColumn.Add(new ControlWithDescription("F6", "Switch between astronauts"));
                developerPage.RightColumn.Add(new ControlWithDescription("F7", "Switch to fixed pos. 3rd person camera"));
                developerPage.RightColumn.Add(new ControlWithDescription("F8", "Switch to spectator camera"));
                developerPage.RightColumn.Add(new ControlWithDescription("Ctrl + F8", "Reset spectator camera"));
                developerPage.RightColumn.Add(new ControlWithDescription("F9", "Switch to static 3rd person"));
                developerPage.RightColumn.Add(new ControlWithDescription("Ctrl + Space", "Move character to spectator position"));
                developerPage.RightColumn.Add(new ControlWithDescription("NumPad3", "Apply large force to controlled object."));
                developerPage.RightColumn.Add(new ControlWithDescription("NumPad6", "Apply small force to controlled object."));
                developerPage.RightColumn.Add(new ControlWithDescription("Ctrl + Shift + Z", "Save prefab"));

                developer2Page.LeftColumn.Add(new ControlWithDescription("", "Debug Input - Ondra"));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + Insert", "Merge all grids."));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + Delete", "Remove all characters."));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + NumDecimal", "Remove all except controlled object."));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + J", "Duplicate current grid."));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + C", "Copy target (of cube builder gizmo)"));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + X", "Cut target (of cube builder gizmo)"));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Ctrl + V", "Paste"));

                developer2Page.LeftColumn.Add(new ControlWithDescription("", ""));
                developer2Page.LeftColumn.Add(new ControlWithDescription("", "Debug Input - Peta"));
                developer2Page.LeftColumn.Add(new ControlWithDescription("Numpad0", "Add weapons, ammo and components to inventory."));

                developer2Page.RightColumn.Add(new ControlWithDescription("", "Debug Input - Martin"));
                developer2Page.RightColumn.Add(new ControlWithDescription("M + Numpad2", "Toggle thrusts on/off."));
                developer2Page.RightColumn.Add(new ControlWithDescription("M + Numpad3", "Toggle shooting turrets."));
                developer2Page.RightColumn.Add(new ControlWithDescription("M + Numpad4", "Reload definitions."));
                developer2Page.RightColumn.Add(new ControlWithDescription("M + Numpad5", "Show screen with all definition icons."));
                developer2Page.RightColumn.Add(new ControlWithDescription("M + Numpad6", "Remove all floating objects."));


            }


            AddProfilerControls(developerPage);

            m_currentPage = HelpPageEnum.Basic;
            CloseButtonEnabled = true;
            RecreateControls(true);
        }
 private void ShowNextPage()
 {
     int lastPage = CalcLastPageIdx();
     int current = (int)m_currentPage;
     current = (current + 1) % (lastPage + 1);
     m_currentPage = (HelpPageEnum)current;
     RecreateControls(false);
 }
 private void ShowPreviousPage()
 {
     int lastPage = CalcLastPageIdx();
     int current = (int)m_currentPage;
     current = (current == 0) ? lastPage : current - 1;
     m_currentPage = (HelpPageEnum)current;
     RecreateControls(false);
 }