コード例 #1
0
 public override void OnCreated(ILoading loading)
 {
     base.OnCreated(loading);
     Cache.Reset();
     if (!IsHooked())
     {
         return;
     }
     if (OptionsWrapper <Options> .Options.ConvertModernStationsToMetroStations || OptionsWrapper <Options> .Options.ConvertOldStationsToMetroStations ||
         OptionsWrapper <Options> .Options.ConvertTramStationsToMetroStations)
     {
         BuildingInfoHook.OnPreInitialization += info =>
         {
             try
             {
                 TrainStationToMetroStation.Convert(info);
             }
             catch (Exception e)
             {
                 UnityEngine.Debug.LogError(e);
             }
         };
         BuildingInfoHook.Deploy();
     }
 }
コード例 #2
0
        public override void OnCreated(ILoading loading)
        {
            base.OnCreated(loading);
            Cache.Reset();
            if (!IsHooked())
            {
                return;
            }
            var isModActive = Util.IsModActive("Metro Overhaul");

            if ((isModActive || Util.DLC(SteamHelper.kWinterDLCAppID)) &&
                (OptionsWrapper <Options> .Options.ConvertPantographsToMetros ||
                 OptionsWrapper <Options> .Options.ConvertSBahnsToMetros ||
                 OptionsWrapper <Options> .Options.ConvertSubwayTrainsToMetros ||
                 OptionsWrapper <Options> .Options.ConvertTrainsToTrams))
            {
                VehicleInfoHook.OnPreInitialization += info =>
                {
                    try
                    {
                        if (info.m_class.m_subService == ItemClass.SubService.PublicTransportTrain)
                        {
                            if (isModActive)
                            {
                                TrainToMetro.Convert(info);
                            }
                            if (Util.DLC(SteamHelper.kWinterDLCAppID))
                            {
                                TrainToTram.Convert(info);
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        UnityEngine.Debug.LogError(e);
                    }
                };
                VehicleInfoHook.Deploy();
            }
            if (isModActive &&
                (OptionsWrapper <Options> .Options.ConvertModernStationsToMetroStations || OptionsWrapper <Options> .Options.ConvertOldStationsToMetroStations ||
                 OptionsWrapper <Options> .Options.ConvertTramStationsToMetroStations))
            {
                BuildingInfoHook.OnPreInitialization += info =>
                {
                    try
                    {
                        TrainStationToMetroStation.Convert(info);
                    }
                    catch (Exception e)
                    {
                        UnityEngine.Debug.LogError(e);
                    }
                };
                BuildingInfoHook.Deploy();
            }
        }
コード例 #3
0
 public override void OnReleased()
 {
     base.OnReleased();
     if (!IsHooked())
     {
         return;
     }
     VehicleInfoHook.Revert();
     BuildingInfoHook.Revert();
 }
コード例 #4
0
ファイル: Loading.cs プロジェクト: TPBCS/CustomizeIt
 public override void OnCreated(ILoading loading)
 {
     base.OnCreated(loading);
     if (!IsHooked() || loading.currentMode != AppMode.Game)
     {
         return;
     }
     BuildingInfoHook.OnPostInitialization += OnPostBuildingInit;
     BuildingInfoHook.Deploy();
 }
コード例 #5
0
ファイル: Loading.cs プロジェクト: vitalii2011/CustomizeIt
 public override void OnReleased()
 {
     base.OnReleased();
     if (!IsHooked())
     {
         return;
     }
     BuildingInfoHook.OnPostInitialization -= OnPostBuildingInit;
     BuildingInfoHook.Revert();
 }
コード例 #6
0
ファイル: Loading.cs プロジェクト: TPBCS/CustomizeIt
 public override void OnReleased()
 {
     base.OnReleased();
     Instance.ToggleOptionPanelControls(false);
     if (!IsHooked())
     {
         return;
     }
     BuildingInfoHook.OnPostInitialization -= OnPostBuildingInit;
     BuildingInfoHook.Revert();
 }
コード例 #7
0
 public static void Revert()
 {
     BuildingInfoHook.Revert();
 }
コード例 #8
0
 public static void Deploy()
 {
     BuildingInfoHook.Deploy();
 }