コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】タイルマップ - 塗ったタイルをすべて削除するエディタ拡張

ソースコード

using UnityEditor;
using UnityEngine;
using UnityEngine.Tilemaps;

public static class TilemapEditorUtils
{
    [MenuItem( "CONTEXT/Grid/Clear All Tiles" )]
    private static void ClearAllTilesFromGrid( MenuCommand menuCommand )
    {
        var grid = menuCommand.context as Grid;
        if ( grid == null ) return;
        var tilemap = grid.GetComponentInChildren<Tilemap>();
        if ( tilemap == null ) return;
        tilemap.ClearAllTiles();
    }

    [MenuItem( "CONTEXT/Tilemap/Clear All Tiles" )]
    private static void ClearAllTiles( MenuCommand menuCommand )
    {
        var tilemap = menuCommand.context as Tilemap;
        if ( tilemap == null ) return;
        tilemap.ClearAllTiles();
    }
}

上記のスクリプトを Unity プロジェクトの
「Editor」フォルダに追加すると使用できるようになります

使い方

f:id:baba_s:20190823145607p:plain

Inspector で Grid を右クリックして「Clear All Tiles」を選択するか

f:id:baba_s:20190823145603p:plain

Inspector で Tilemap を右クリックして「Clear All Tiles」を選択すると
タイルマップに塗ったすべてのタイルを削除できます