コガネブログ

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

【Unity】Tilemap の Inspector に Refresh All Tiles を実行するボタンを追加するエディタ拡張

概要

using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
using UnityEngine.Tilemaps;

[CustomEditor(typeof(Tilemap))]
public sealed class TilemapEditor : Editor
{
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        var tilemap = target as Tilemap;

        if ( GUILayout.Button( "Refresh All Tiles" ) )
        {
            tilemap.RefreshAllTiles();
            EditorSceneManager.MarkSceneDirty( tilemap.gameObject.scene );
        }
    }
}

f:id:baba_s:20191010182834p:plain