public override void HandleClick(UIMouseEventParameter p) { InstanceID worldInfoPanelInstanceId = WorldInfoPanel.GetCurrentInstanceID(); Log._Debug($"Current citizen: {worldInfoPanelInstanceId.Citizen}"); if (worldInfoPanelInstanceId.Citizen != 0) { ushort citizenInstanceId = worldInfoPanelInstanceId.Citizen.ToCitizen().m_instance; Log._Debug( $"Current citizen: {worldInfoPanelInstanceId.Citizen} Instance: {citizenInstanceId}"); if (citizenInstanceId != 0) { bool isTourist = citizenInstanceId.ToCitizenInstance().Info.m_citizenAI is TouristAI; Singleton <SimulationManager> .instance.AddAction( () => Singleton <CitizenManager> .instance.ReleaseCitizenInstance(citizenInstanceId)); // InfoPanel needs to be closed manually because method responsible for hiding it testing against type Citizen instead of CitizenInstance // We are not removing Citizen but only instance if (isTourist) { WorldInfoPanel.Hide <TouristWorldInfoPanel>(); } else { WorldInfoPanel.Hide <CitizenWorldInfoPanel>(); } } } }
public static void OnDeleteLinesClick() { if (!ImprovedPublicTransportMod.inGame) { return; } if (!OptionsWrapper <Settings> .Options.DeleteBusLines && !OptionsWrapper <Settings> .Options.DeleteTramLines && !OptionsWrapper <Settings> .Options.DeleteTrainLines && !OptionsWrapper <Settings> .Options.DeleteMetroLines && !OptionsWrapper <Settings> .Options.DeleteMonorailLines && !OptionsWrapper <Settings> .Options.DeleteShipLines && !OptionsWrapper <Settings> .Options.DeletePlaneLines) { return; } WorldInfoPanel.Hide <PublicTransportWorldInfoPanel>(); ConfirmPanel.ShowModal(Localization.Get("SETTINGS_LINE_DELETION_TOOL_CONFIRM_TITLE"), Localization.Get("SETTINGS_LINE_DELETION_TOOL_CONFIRM_MSG"), (s, r) => { if (r != 1) { return; } Singleton <SimulationManager> .instance.AddAction(() => { SimulationManager.instance.AddAction(DeleteLines); }); }); }
public static void OnBudgetClicked() { if (ToolsModifierControl.IsUnlocked(UnlockManager.Feature.Economy)) { ToolsModifierControl.mainToolbar.ShowEconomyPanel(1); WorldInfoPanel.Hide <PublicTransportWorldInfoPanel>(); } }
private void OnCashAmountClick(UIComponent com, UIMouseEventParameter p) { if (ToolsModifierControl.economyPanel != null) { if (ToolsModifierControl.economyPanel.isVisible) { ToolsModifierControl.economyPanel.CloseToolbar(); // Hide; } else { ToolsModifierControl.mainToolbar.ShowEconomyPanel(-1); WorldInfoPanel.Hide <CityServiceWorldInfoPanel>(); } } }
private void OnDeleteLinesClick(UIComponent component, UIMouseEventParameter eventParam) { if (!this._deleteBusLines.isChecked && !this._deleteTramLines.isChecked && (!this._deleteMetroLines.isChecked && !this._deleteTrainLines.isChecked) && (!this._deleteShipLines.isChecked && !this._deleteAirLines.isChecked)) { return; } WorldInfoPanel.Hide <PublicTransportWorldInfoPanel>(); ConfirmPanel.ShowModal(Localization.Get("SETTINGS_LINE_DELETION_TOOL_CONFIRM_TITLE"), Localization.Get("SETTINGS_LINE_DELETION_TOOL_CONFIRM_MSG"), (UIView.ModalPoppedReturnCallback)((s, r) => { if (r != 1) { return; } Singleton <SimulationManager> .instance.AddAction(new System.Action(this.DeleteLines)); })); }
public static void SetCurrentMode(InfoManager.InfoMode Mode, InfoManager.SubInfoMode SubMode) { WorldInfoPanel.Hide <CityServiceWorldInfoPanel>(); ToolsModifierControl.mainToolbar.CloseToolbar(); var IM = Singleton <InfoManager> .instance; var mm = IM.CurrentMode; var sm = IM.CurrentSubMode; if (mm == Mode && sm == SubMode) { Singleton <InfoManager> .instance.SetCurrentMode(InfoManager.InfoMode.None, InfoManager.SubInfoMode.Default); } else { Singleton <InfoManager> .instance.SetCurrentMode(Mode, SubMode); } }
public override void HandleClick(UIMouseEventParameter p) { InstanceID instance = WorldInfoPanel.GetCurrentInstanceID(); Log._Debug($"Current citizen: {instance.Citizen}"); if (instance.Citizen != 0) { ushort citizenInstanceId = 0; Constants.ServiceFactory.CitizenService.ProcessCitizen( instance.Citizen, (uint citId, ref Citizen cit) => { citizenInstanceId = cit.m_instance; return(true); }); Log._Debug( $"Current citizen: {instance.Citizen} Instance: {citizenInstanceId}"); if (citizenInstanceId != 0) { bool isTourist = CitizenManager.instance.m_instances.m_buffer[citizenInstanceId].Info.m_citizenAI is TouristAI; Constants.ServiceFactory.SimulationService.AddAction( () => Constants .ServiceFactory.CitizenService .ReleaseCitizenInstance(citizenInstanceId)); // InfoPanel needs to be closed manually because method responsible for hiding it testing against type Citizen instead of CitizenInstance // We are not removing Citizen but only instance if (isTourist) { WorldInfoPanel.Hide <TouristWorldInfoPanel>(); } else { WorldInfoPanel.Hide <CitizenWorldInfoPanel>(); } } } }