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); }
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); }