コガネブログ

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

2019-10-01から1日間の記事一覧

【Unity】EditorUtility.RevealInFinder でフォルダを開こうとすると上の階層が開いてしまう

概要 using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { EditorUtility.RevealInFinder( "Assets" ); } } 例えば EditorUtility.RevealInFinder で Assets フォルダを開こうとすると Assets フォ…

【ReSharper】メソッドチェーンを改行した時のインデントの長さを変更する方法

概要 Visual Studio メニューの「RESHARPER > Options」から 「Code Editing > C# > Formatting Style > Tabs, Indents, Alignment」を選択して 「Chained method calls」を オンにするとこうなります オフにするとこのようになります

【Unity】Tilemap オブジェクトが選択されたら Tile Palette の矩形ツールを選択状態にするエディタ拡張

ソースコード using System; using System.Reflection; using UnityEditor; using UnityEditorInternal; using UnityEngine.Tilemaps; public static class GridPaintPaletteWindowUtils { private const BindingFlags BINDING_ATTR = BindingFlags.Static |…

【Unity】現在のエディタの編集モードを取得するエディタ拡張

概要 using UnityEditor; using UnityEditorInternal; using UnityEngine; public static class Example { [MenuItem("Tools/Hoge")] private static void Hoge() { Debug.Log( EditMode.editMode ); } } EditMode.editMode で現在のエディタの編集モードを…

【Unity】Collider や LineRenderer などの編集が開始した・終了したかどうかを検知するエディタ拡張

概要 using UnityEditor; using UnityEditorInternal; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { EditMode.onEditModeStartDelegate += OnEditModeStartDelegate; EditMode.onEditModeEndDelegate += OnEdit…

【Unity】Tilemap の Tile Palette で選択されているツールをスクリプトから変更する方法

ソースコード using System; using System.Reflection; using UnityEditor; public static class GridPaintPaletteWindowUtils { private const BindingFlags BINDING_ATTR = BindingFlags.Static | BindingFlags.Instance | BindingFlags.NonPublic; privat…

【Unity】Tilemap の Tile Palette は内部的には GridPaintPaletteWindow という EditorWindow

概要 Tilemap の Tile Palette は内部的には GridPaintPaletteWindow という EditorWindow で構成されています Unity エディタを開発者モードにすることで確認できます 関連記事

【Unity】Tilemap の Tile Palette で選択されているブラシをスクリプトから変更する方法

ソースコード using System; using System.Collections.Generic; using System.Reflection; using UnityEditor; using UnityEngine; public static class GridPaintingStateUtils { private const BindingFlags BINDING_ATTR = BindingFlags.Static | Bindin…

【Unity】Tilemap の Tile Palette に登録されているすべてのブラシを取得する方法

ソースコード using System; using System.Collections.Generic; using System.Reflection; using UnityEditor; using UnityEngine; public static class GridPaletteBrushesUtils { private const BindingFlags BINDING_ATTR = BindingFlags.Static | Bindi…

【Unity】Tilemap で Tile Palette のブラシが変更された時に呼び出されるイベント

ソースコード using System; using System.Reflection; using UnityEditor; using UnityEngine; public static class EditorApplicationUtility { private const BindingFlags BINDING_ATTR = BindingFlags.Static | BindingFlags.Public; private static re…

【Unity】Tilemap で Tile Palette の Active Tilemap が変更された時に呼び出されるイベント

ソースコード using System; using System.Reflection; using UnityEditor; using UnityEngine; public static class EditorApplicationUtility { private const BindingFlags BINDING_ATTR = BindingFlags.Static | BindingFlags.Public; private static re…

【Unity】Tilemap が複製された時に、複製された Tilemap を Tile Palette の Active Tilemap に自動で設定するエディタ拡張

概要 Tilemap が複製された時は Tile Palette の Active Tilemap は変化しないですが using System.Reflection; using UnityEditor; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.hierarchyChanged += OnChanged…

【Unity】Tilemap で Tile Palette の Active Tilemap をスクリプトから変更する方法

概要 using System.Reflection; using UnityEditor; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var assembly = typeof( AssetDatabase ).Assembly; var type = assembly.GetType( "UnityEditor.GridPaintingState" )…