Exemplo n.º 1
0
        /*
         #if UNITY_2019_1_OR_NEWER
         * [ClutchShortcut("Terrain/Invert Brush Effect", typeof(TerrainToolShortcutContext), KeyCode.C)]
         * static void InvertStrengthShortcut(ShortcutArguments args) {
         *  s_ShortcutHandler.HandleShortcutChanged(args, BrushModifierKey.BRUSH_MOD_INVERT);
         * }
         *
         * [ClutchShortcut("Terrain/Brush Modifier 1", typeof(TerrainToolShortcutContext), KeyCode.V)]
         * static void Mod1Shortcut(ShortcutArguments args) {
         *  s_ShortcutHandler.HandleShortcutChanged(args, BrushModifierKey.BRUSH_MOD_1);
         * }
         *
         * [ClutchShortcut("Terrain/Brush Modifier 2", typeof(TerrainToolShortcutContext))]
         * static void Mod2Shortcut(ShortcutArguments args) {
         *  s_ShortcutHandler.HandleShortcutChanged(args, BrushModifierKey.BRUSH_MOD_2);
         * }
         *
         * [ClutchShortcut("Terrain/Brush Modifier 3", typeof(TerrainToolShortcutContext))]
         * static void Mod3Shortcut(ShortcutArguments args) {
         *  s_ShortcutHandler.HandleShortcutChanged(args, BrushModifierKey.BRUSH_MOD_3);
         * }
         #endif
         */


        public void OnEnterToolMode()
        {
            s_ShortcutHandler.AddActions(BrushModifierKey.BRUSH_MOD_1, HandleModifier1Pressed, HandleModifier1Released);
            s_ShortcutHandler.AddActions(BrushModifierKey.BRUSH_MOD_2, HandleModifier2Pressed, HandleModifier2Released);
            s_ShortcutHandler.AddActions(BrushModifierKey.BRUSH_MOD_3, HandleModifier3Pressed, HandleModifier3Released);
            s_ShortcutHandler.AddActions(BrushModifierKey.BRUSH_MOD_INVERT, HandleInvertStrengthPressed, HandleInvertStrengthReleased);
        }
Exemplo n.º 2
0
        public override void OnEnterToolMode(BrushShortcutHandler <BrushShortcutType> shortcutHandler)
        {
            base.OnEnterToolMode(shortcutHandler);

            shortcutHandler.AddActions(BrushShortcutType.Size, BeginAdjustingSize, EndAdjustingSize);

            float minBrushWorldSize, maxBrushWorldSize;
            float mininumTerrainSize   = float.MaxValue;
            int   maxTextureResolution = 0;

            foreach (var terrain in Terrain.activeTerrains)
            {
                var terrainData = terrain.terrainData;
                maxTextureResolution = Mathf.Max(maxTextureResolution, terrainData.heightmapResolution);
                mininumTerrainSize   = Mathf.Min(mininumTerrainSize, terrainData.size.x, terrainData.size.z);
            }
            // caculate the minimum / maximum brush ranges from a set of selected terrains
            TerrainPaintUtility.GetBrushWorldSizeLimits(out minBrushWorldSize, out maxBrushWorldSize, mininumTerrainSize, maxTextureResolution);
            m_BrushSize.shouldClampMax = false;
            m_BrushSize.shouldClampMin = false;
            m_BrushSize.maxClamp       = maxBrushWorldSize;
            m_BrushSize.minClamp       = minBrushWorldSize;
            m_BrushSize.shouldClampMax = true;
            m_BrushSize.shouldClampMin = true;

            m_BrushSize.value    = GetEditorPrefs("TerrainBrushSize", kDefaultBrushSize);
            m_BrushSize.minValue = GetEditorPrefs("TerrainBrushSizeMin", 0.0f);
            m_BrushSize.maxValue = GetEditorPrefs("TerrainBrushSizeMax", 500.0f);
            //m_BrushSize.mouseSensitivity = GetEditorPrefs("TerrainBrushSizeMouseSensitivity", kDefaultMouseSensitivity);
            m_JitterHandler.jitter = GetEditorPrefs("TerrainBrushSizeJitter", 0.0f);
        }
Exemplo n.º 3
0
        public override void OnEnterToolMode(BrushShortcutHandler <BrushShortcutType> shortcutHandler)
        {
            base.OnEnterToolMode(shortcutHandler);

            shortcutHandler.AddActions(BrushShortcutType.Strength, BeginAdjustingStrength, EndAdjustingStrength);

            m_BrushStrength.value  = GetEditorPrefs("TerrainBrushStrength", defaultBrushStrength);
            m_JitterHandler.jitter = GetEditorPrefs("TerrainBrushRandomStrength", 0.0f);
        }
Exemplo n.º 4
0
        public override void OnEnterToolMode(BrushShortcutHandler <BrushShortcutType> shortcutHandler)
        {
            base.OnEnterToolMode(shortcutHandler);

            shortcutHandler.AddActions(BrushShortcutType.Size, BeginAdjustingSize, EndAdjustingSize);

            m_BrushSize.value = GetEditorPrefs("TerrainBrushSize", kDefaultBrushSize);
            //m_BrushSize.mouseSensitivity = GetEditorPrefs("TerrainBrushSizeMouseSensitivity", kDefaultMouseSensitivity);
            m_JitterHandler.jitter = GetEditorPrefs("TerrainBrushSizeJitter", 0.0f);
        }
        public override void OnEnterToolMode(BrushShortcutHandler <BrushShortcutType> shortcutHandler)
        {
            base.OnEnterToolMode(shortcutHandler);

            m_BrushRotation.value            = GetEditorPrefs("TerrainBrushRotation", kDefaultBrushRotation);
            m_BrushRotation.mouseSensitivity = GetEditorPrefs("TerrainBrushRotMouseSensitivity", kDefaultMouseSensitivity);
            m_JitterHandler.jitter           = GetEditorPrefs("TerrainBrushRotJitter", 0.0f);
            m_FollowMouse = GetEditorPrefs("TerrainBrushRotFollowMouse", false);

            shortcutHandler.AddActions(BrushShortcutType.Rotation, BeginAdjustingRotation, EndAdjustingRotation);

            UpdateCurrentRotation(m_BrushRotation.value);
        }
Exemplo n.º 6
0
 public virtual void OnEnterToolMode(BrushShortcutHandler <BrushShortcutType> shortcutHandler)
 {
     shortcutHandler.AddActions(BrushShortcutType.RotationSizeStrength, OnModifierKeyPressed, OnModifierKeyReleased);
 }