public static void Postfix(global::Planetbase.GuiMenuSystem __instance)
        {
            var buttonIcon = TypeList <ModuleType, ModuleTypeList> .find(typeof(ModuleTypeStorage).Name).getIcon();

            //Create the new button
            var pauseMenuItem = new GuiMenuItem(
                buttonIcon,
                StringList.get("menu_deliver"),
                parameter =>
            {
                if (DeliveriesMod.ActiveDeliveryShip)
                {
                    return;
                }

                DeliveriesMod.ActiveDeliveryShip = true;

                var startPosition = ((GameStateGame)GameManager.getInstance().mGameState).findStartPosition();

                DeliveriesMod.Ship = global::Planetbase.ColonyShip.create(
                    startPosition + Vector3.up * 100f,
                    startPosition,
                    PlanetManager.getCurrentPlanet().getStartingResources()
                    );
            }
                );

            //Add the new button to the main GUI menu and reorder it
            var mainMenu = __instance.mMenuMain;

            mainMenu.mItems.Remove(__instance.mItemHelp);
            mainMenu.addItem(pauseMenuItem);
            mainMenu.addItem(__instance.mItemHelp);
        }
Пример #2
0
        public static void Postfix(global::Planetbase.GuiMenuSystem __instance)
        {
            var timeManager = Singleton <global::Planetbase.TimeManager> .getInstance();

            var modInstance = ModLoader.GetModByType <TimeMod>().First();

            var pauseMenuItem = new GuiMenuItem(
                modInstance.ModTextures.FindTextureWithName("pause button.png"),
                StringList.get("menu_pause"),
                parameter =>
            {
                if (timeManager.mPaused)
                {
                    timeManager.unpause();
                    WasManuallyPaused = false;
                }
                else
                {
                    timeManager.pause();
                    WasManuallyPaused = true;
                }
            }
                );

            var menuSpeed = __instance.mMenuSpeed;

            menuSpeed.mItems.Remove(__instance.mItemSpeedFaster);
            menuSpeed.mItems.Remove(menuSpeed.mBackItem);
            menuSpeed.addItem(pauseMenuItem);
            menuSpeed.addItem(__instance.mItemSpeedFaster);
            menuSpeed.addItem(menuSpeed.mBackItem);
        }