public override void OnLevelLoaded(LoadMode mode) { var toolController = ToolsModifierControl.toolController; if (toolController == null) { Debug.LogError("ExtraTools#OnLevelLoaded(): ToolContoller not found"); return; } try { var extraTools = NaturalResourcesBrush.SetUpExtraTools(mode, toolController); NaturalResourcesBrush.AddExtraToolsToController(toolController, extraTools); } catch (Exception e) { Debug.LogError(e); } finally { if (toolController.Tools.Length > 0) { toolController.Tools[0].enabled = true; } } if (OptionsWrapper <Options> .Options.terrainTool && GetPanels().ContainsKey(LandscapingInfoPanel)) { landscapingPanel = GetPanels()[LandscapingInfoPanel]; if (landscapingPanel != null) { GetPanels().Remove(LandscapingInfoPanel); } LandscapingPanelDetour.Initialize(); } }
public override void OnReleased() { Redirector <TreeToolDetour> .Revert(); Redirector <BeautificationPanelDetour> .Revert(); BeautificationPanelDetour.Dispose(); Redirector <WaterToolDetour> .Revert(); Redirector <TerrainToolDetour> .Revert(); TerrainToolDetour.Dispose(); Redirector <TerrainPanelDetour> .Revert(); Redirector <LandscapingPanelDetour> .Revert(); LandscapingPanelDetour.Dispose(); Redirector <LevelHeightOptionPanelDetour> .Revert(); LevelHeightOptionPanelDetour.Dispose(); Redirector <UndoTerrainOptionPanelDetour> .Revert(); Redirector <BrushOptionPanelDetour> .Revert(); try { Plugins.Dispose(); } catch (Exception e) { UnityEngine.Debug.LogException(e); } }
public override void OnLevelLoaded(LoadMode mode) { var toolController = ToolsModifierControl.toolController; if (toolController == null) { Debug.LogError("ExtraTools#OnLevelLoaded(): ToolContoller not found"); return; } try { var extraTools = NaturalResourcesBrush.SetUpExtraTools(mode, toolController); NaturalResourcesBrush.AddExtraToolsToController(toolController, extraTools); } catch (Exception e) { Debug.LogError(e); } finally { if (toolController.Tools.Length > 0) { toolController.Tools[0].enabled = true; } } if (OptionsWrapper <Options> .Options.terrainTool && GetPanels().ContainsKey(LandscapingInfoPanel)) { landscapingPanel = GetPanels()[LandscapingInfoPanel]; if (landscapingPanel != null) { GetPanels().Remove(LandscapingInfoPanel); } LandscapingPanelDetour.Initialize(); } var beautificationPanels = Object.FindObjectsOfType <BeautificationPanel>(); beautificationPanels.ForEach(p => { p.component.eventVisibilityChanged -= HideBrushOptionsPanel(); p.component.eventVisibilityChanged += HideBrushOptionsPanel(); }); }