public override void OnLevelLoaded(LoadMode mode) { base.OnLevelLoaded(mode); Debugger.Log("ON_LEVEL_LOADED"); Debugger.OnLevelLoaded(); try { // Don't load if it's not a game if (mode != LoadMode.LoadGame && mode != LoadMode.NewGame) { return; } BuildingThemesManager.instance.ImportThemes(); PolicyPanelEnabler.UnlockPolicyToolbarButton(); UIThemeManager.Initialize(); UIStyleButtonReplacer.ReplaceStyleButton(); } catch (Exception e) { Debugger.LogException(e); } }
public override void OnCreated(ILoading loading) { base.OnCreated(loading); Debugger.Initialize(); Debugger.Log("ON_CREATED"); Debugger.Log("Building Themes: Initializing Mod..."); PolicyPanelEnabler.Register(); BuildingThemesManager.instance.Reset(); BuildingVariationManager.instance.Reset(); if (BuildingVariationManager.Enabled) { try { Detour.BuildingInfoDetour.Deploy(); } catch (Exception e) { Debugger.LogException(e); } } try { Detour.BuildingManagerDetour.Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.ZoneBlockDetour.Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.ImmaterialResourceManagerDetour.Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.PrivateBuildingAIDetour <ResidentialBuildingAI> .Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.PrivateBuildingAIDetour <CommercialBuildingAI> .Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.PrivateBuildingAIDetour <IndustrialBuildingAI> .Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.PrivateBuildingAIDetour <OfficeBuildingAI> .Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.PoliciesPanelDetour.Deploy(); } catch (Exception e) { Debugger.LogException(e); } Debugger.Log("Building Themes: Mod successfully intialized."); }
public override void OnReleased() { base.OnReleased(); Debugger.Log("ON_RELEASED"); BuildingThemesManager.instance.Reset(); BuildingVariationManager.instance.Reset(); PolicyPanelEnabler.Unregister(); Debugger.Log("Building Themes: Reverting detoured methods..."); try { Detour.BuildingInfoDetour.Revert(); Redirector <BuildingManagerDetour> .Revert(); Debugger.Log("Building Themes: BuildingManager Methods restored!"); Redirector <DistrictManagerDetour> .Revert(); Debugger.Log("Building Themes: DistrictManager Methods restored!"); Redirector <ZoneBlockDetour> .Revert(); Debugger.Log("Building Themes: ZoneBlock Methods restored!"); Detour.ImmaterialResourceManagerDetour.Revert(); Detour.PrivateBuildingAIDetour <ResidentialBuildingAI> .Revert(); Detour.PrivateBuildingAIDetour <CommercialBuildingAI> .Revert(); Detour.PrivateBuildingAIDetour <IndustrialBuildingAI> .Revert(); Detour.PrivateBuildingAIDetour <OfficeBuildingAI> .Revert(); Detour.PoliciesPanelDetour.Revert(); Redirector <DistrictWorldInfoPanelDetour> .Revert(); Debugger.Log("Building Themes: DistrictWorldInfoPanel Methods restored!"); } catch (Exception e) { Debugger.LogException(e); } Debugger.Log("Building Themes: Done!"); Debugger.Deinitialize(); }
public override void OnLevelLoaded(LoadMode mode) { base.OnLevelLoaded(mode); // Don't load if it's not a game if (mode != LoadMode.LoadGame && mode != LoadMode.NewGame) { return; } Debugger.Log("ON_LEVEL_LOADED"); Debugger.AppendModList(); Debugger.AppendThemeList(); PolicyPanelEnabler.UnlockPolicyToolbarButton(); UIThemeManager.Initialize(); }
public override void OnReleased() { base.OnReleased(); Debugger.Log("ON_RELEASED"); Debugger.Log("Building Themes: Reverting detoured methods..."); Singleton <BuildingThemesManager> .instance.Reset(); try { Detour.BuildingInfoDetour.Revert(); Detour.BuildingManagerDetour.Revert(); Detour.ZoneBlockDetour.Revert(); Detour.ImmaterialResourceManagerDetour.Revert(); Detour.PrivateBuildingAIDetour <ResidentialBuildingAI> .Revert(); Detour.PrivateBuildingAIDetour <CommercialBuildingAI> .Revert(); Detour.PrivateBuildingAIDetour <IndustrialBuildingAI> .Revert(); Detour.PrivateBuildingAIDetour <OfficeBuildingAI> .Revert(); Detour.PoliciesPanelDetour.Revert(); } catch (Exception e) { Debugger.LogException(e); } PolicyPanelEnabler.Unregister(); Debugger.Log("Building Themes: Done!"); Debugger.Deinitialize(); }
public override void OnCreated(ILoading loading) { base.OnCreated(loading); Debugger.Initialize(); Debugger.Log("ON_CREATED"); Debugger.Log("Building Themes: Initializing Mod..."); try { PolicyPanelEnabler.Register(); BuildingThemesManager.instance.Reset(); BuildingVariationManager.instance.Reset(); UpdateConfig(); try { Redirector <BuildingManagerDetour> .Deploy(); Debugger.Log("Building Themes: BuildingManager Methods detoured!"); } catch (Exception e) { Debugger.LogException(e); } try { Redirector <DistrictManagerDetour> .Deploy(); Debugger.Log("Building Themes: DistrictManager Methods detoured!"); } catch (Exception e) { Debugger.LogException(e); } try { Redirector <ZoneBlockDetour> .Deploy(); Debugger.Log("Building Themes: ZoneBlock Methods detoured!"); ZoneBlockDetour.SetUp(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.ImmaterialResourceManagerDetour.Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.PrivateBuildingAIDetour <ResidentialBuildingAI> .Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.PrivateBuildingAIDetour <CommercialBuildingAI> .Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.PrivateBuildingAIDetour <IndustrialBuildingAI> .Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.PrivateBuildingAIDetour <OfficeBuildingAI> .Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Detour.PoliciesPanelDetour.Deploy(); } catch (Exception e) { Debugger.LogException(e); } try { Redirector <DistrictWorldInfoPanelDetour> .Deploy(); Debugger.Log("Building Themes: DistrictWorldInfoPanel Methods detoured!"); } catch (Exception e) { Debugger.LogException(e); } Debugger.Log("Building Themes: Mod successfully intialized."); } catch (Exception e) { Debugger.LogException(e); } }