コガネブログ

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

【Unity】Dictionary 型に関係する汎用的な関数を管理するクラス「UniDirectoryUtils」を GitHub に公開しました

リポジトリ 使用例 通常 using System.IO; using UnityEditor; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var path = "Assets/Scripts/Example.Generated.cs"; var dir = Path.GetDirectoryName( path ); Directory.…

【Unity】Unity Test Runner の開始終了時に呼び出されるコールバックを設定できるようにするクラス「UniTestRunnerApiCallbacks」を GitHub に公開しました

リポジトリ 使用例 using Kogane; using UnityEditor; using UnityEditor.TestTools.TestRunner.Api; using UnityEngine; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { // Test Runner の開始終了時に呼び出されるコー…

【Unity】TestRunnerApi の情報を JSON に変換できるようにするパッケージ「UniJsonTestRunnerApi」を GitHub に公開しました

リポジトリ 使用例 using Kogane; using UnityEditor; using UnityEditor.TestTools.TestRunner.Api; using UnityEngine; public class Callbacks : ICallbacks { public void TestStarted( ITestAdaptor test ) { // JSON 形式で ITestAdaptor の情報をログ…

【Unity】JsonUtility の「Unexpected node type.」を例外としてキャッチする方法

概要 using System; using UnityEngine; public class Example : MonoBehaviour { public T Hoge<T>( string json ) { var isError = false; void OnReceive( string condition, string trace, LogType type ) { if ( type != LogType.Error && type != LogType</t>…

【ReSharper】Alt + Delete で関数を安全に削除

概要 削除したい関数を選択した状態で Alt + Delete を押して 確認ダイアログで「Next > 」を2回押すと、 その関数が呼び出されている箇所も含めて安全に削除できる

【Unity】Dictionary を JsonUtility で変換できるようにするクラス

ソースコード 使用例 using System.Collections.Generic; using Kogane; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { var dictionary1 = new Dictionary<int, string>() { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { 3, "フシ</int,>…

【Unity】iOS で SystemInfo.deviceUniqueIdentifier と iOS.Device.vendorIdentifier で取得できる文字列は同じ

概要 using UnityEngine; using UnityEngine.iOS; public class Example : MonoBehaviour { private void Awake() { // 同じ Debug.Log( SystemInfo.deviceUniqueIdentifier ); Debug.Log( Device.vendorIdentifier ); } }

【ReSharper】特定のコードで命名規則を無視する方法

目次 目次 特定のフィールドで命名規則を無視 特定のファイルで命名規則を無視 特定の範囲で命名規則を無視 特定のフィールドで命名規則を無視(属性版) 特定のクラスで命名規則を無視(属性版) 特定のファイルですべてのルールを無視する 補足 特定のフィ…

【Unity】Unity のインストール先のフォルダを開くエディタ拡張

ソースコード using UnityEditor; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var path = EditorApplication.applicationPath; EditorUtility.RevealInFinder( path ); } }

【Unity】AssetDatabase 型に関係する汎用的な関数を管理するクラス「UniAssetDatabaseUtils」を GitHub に公開しました

リポジトリ 使用例 通常 using System.Linq; using UnityEditor; using UnityEngine; public class Example : ScriptableObject { [MenuItem( "Tools/Hoge" )] private static void Hoge() { // Unity プロジェクトに存在する Example アセットを取得する { …

【Unity】エディタのレイアウトファイル(.wlt)の Inspector に読み込みボタンを追加するエディタ拡張「UniLayoutAssetInspector」を GitHub に公開しました

リポジトリ 使用例

【Unity】EditorPrefs に関するコードを記述しやすくするクラス「UniEditorPrefsValue」を GitHub に公開しました

リポジトリ 使用例 通常 using UnityEditor; using UnityEngine; public class Example { private const string KEY = "Hoge"; [MenuItem( "Tools/Load" )] private static void Load() { Debug.Log( EditorPrefs.GetString( KEY ) ); } [MenuItem( "Tools/S…

【Unity】特殊なフォルダを作成するメニューを追加するエディタ拡張「UniSpecialFolderCreator」を GitHub に公開しました

リポジトリ 使用例

【Unity】Caching の内容を JSON で出力できるようにするクラス

ソースコード

【Unity】ビルド時に EditorUserBuildSettings.activeScriptCompilationDefines を TextAsset に書き込むエディタ拡張

ソースコード