Files
Continentis/Assets/OtherPlugins/Feel/MMTools/Accessories/MMTilemaps/MMTilemapCleaner.cs
SoulliesOfficial d09b58fd80 架构大更
2026-03-20 11:56:50 -04:00

43 lines
1.1 KiB
C#

using UnityEngine;
using UnityEngine.Tilemaps;
namespace MoreMountains.Tools
{
/// <summary>
/// A super simple component you can add to a tilemap to get a button to clean it from all tiles
/// </summary>
public class MMTilemapCleaner : MonoBehaviour
{
/// Debug buttons
[MMInspectorButton("Clean")] public bool CleanButton;
[MMInspectorButton("CleanAllChildren")]
public bool CleanAllButton;
#if MM_PHYSICS2D
protected Tilemap _tilemap;
protected Tilemap[] _tilemaps;
/// <summary>
/// Cleans all tiles on the corresponding tilemap
/// </summary>
public virtual void Clean()
{
_tilemap = gameObject.GetComponent<Tilemap>();
if (_tilemap != null) _tilemap.ClearAllTiles();
}
/// <summary>
/// Cleans all tiles on all tilemaps that are set as children of this object
/// </summary>
public virtual void CleanAllChildren()
{
_tilemaps = GetComponentsInChildren<Tilemap>();
foreach (var tilemap in _tilemaps) tilemap.ClearAllTiles();
}
#endif
}
}