Files
PrincessLandVR/Assets/Procedural Worlds/Gaia/Scripts/Unity/Terrain Tools/Erosion/IBrushUIGroup.cs
T
2021-01-11 22:20:43 -08:00

70 lines
2.3 KiB
C#

using System.Text;
using UnityEngine;
using UnityEngine.Experimental.TerrainAPI;
namespace Gaia
{
public delegate void ResetBrush();
public interface IBrushUIGroup {
/// <summary>
/// The normalized size of the brush.
/// </summary>
float brushSize { get; }
/// <summary>
/// The rotation of the brush (in degrees).
/// </summary>
float brushRotation { get; }
/// <summary>
/// The normalized strength of the brush when applied.
/// </summary>
float brushStrength { get; }
/// <summary>
/// The spacing used when applying certain brushes.
/// </summary>
float brushSpacing { get; }
string validationMessage { get; set; }
/// <summary>
/// Are we allowed to paint with this brush?
/// </summary>
bool allowPaint { get; }
bool InvertStrength { get; }
bool isInUse { get; }
//FilterStackView brushMaskFilterStackView { get; }
//FilterStack brushMaskFilterStack { get; }
Terrain terrainUnderCursor { get; }
bool isRaycastHitUnderCursorValid { get; }
RaycastHit raycastHitUnderCursor { get; }
//void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext);
//void OnEnterToolMode();
//void OnExitToolMode();
//void OnPaint(Terrain terrain, IOnPaint editContext);
//void OnSceneGUI2D(Terrain terrain, IOnSceneGUI editContext);
// void OnSceneGUI(Terrain terrain, IOnSceneGUI editContext);
//void AppendBrushInfo(Terrain terrain, IOnSceneGUI editContext, StringBuilder builder);
//RenderTexture GetBrushMask(FilterContext fc, RenderTexture heightContext);
/// <summary>
/// Scatters the brush around the specified UV on the specified terrain. If the scattered UV leaves
/// the current terrain then the terrain AND UV are modified for the terrain the UV is now over.
/// </summary>
/// <param name="terrain">The terrain the scattered UV co-ordinate is actually on.</param>
/// <param name="uv">The UV co-ordinate passed in transformed into the UV co-ordinate relative to the scattered terrain.</param>
/// <returns>"true" if we scattered to a terrain, "false" if we fell off ALL terrains.</returns>
bool ScatterBrushStamp(ref Terrain terrain, ref Vector2 uv);
//bool ModifierActive(BrushModifierKey k);
}
}