Beispiel #1
0
            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);
         });
     });
 }
Beispiel #3
0
 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>();
         }
     }
 }
Beispiel #5
0
 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));
     }));
 }
Beispiel #6
0
        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>();
                        }
                    }
                }
            }