using UnityEngine; using UnityEngine.TerrainTools; namespace UnityEditor.TerrainTools { /// /// An interface that represent the controller for smoothing the brush. /// public interface IBrushSmoothController { /// /// Checks if the smooth controller is active. /// bool active { get; } /// /// Gets and sets the smooth kernel size. /// int kernelSize { get; set; } /// /// Defines data when the brush is selected. /// void OnEnterToolMode(); /// /// Defines data when the brush is deselected. /// void OnExitToolMode(); /// /// Triggers events to render objects and displays within Scene view. /// /// The terrain in focus. /// The editcontext to reference. void OnSceneGUI(Terrain terrain, IOnSceneGUI editContext); /// /// /// /// The terrain in focus. /// The editcontext to reference. void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext); /// /// Triggers events when painting on a terrain. /// /// The terrain in focus. /// The editcontext to reference. /// The brush's size. /// The brush's rotation. /// The brush's strength. /// The brush's UV. /// Returns true when the painting process is successful. Otherwise, returns false. bool OnPaint(Terrain terrain, IOnPaint editContext, float brushSize, float brushRotation, float brushStrength, Vector2 uv); } }