using UnityEngine; namespace UnityEditor.TerrainTools { /// /// An interface that represent the brush terrain caching system. /// public interface IBrushTerrainCache { /// /// Handles the locking of the terrain cursor in it's current position. /// /// This method is commonly used when utilizing shortcuts. /// Whether the cursor is visible within the scene. When the value is true the cursor is visible. /// void LockTerrainUnderCursor(bool cursorVisible); /// /// Handles unlocking of the terrain cursor. /// /// void UnlockTerrainUnderCursor(); /// /// Checks if the cursor is currently locked and can not be updated. /// bool canUpdateTerrainUnderCursor { get; } /// /// Gets and sets the terrain in focus. /// Terrain terrainUnderCursor { get; } /// /// Gets and sets the value associated to whether there is a raycast hit detecting a terrain under the cursor. /// bool isRaycastHitUnderCursorValid { get; } /// /// Gets and sets the raycast hit that was under the cursor's position. /// RaycastHit raycastHitUnderCursor { get; } } }