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);
            }
        }
Ejemplo n.º 3
0
        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();
            });
        }