コガネブログ

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

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

【Unity】クラスと構造体それぞれのインスタンスを生成した時の GC Alloc の違い

概要 using UnityEngine; using UnityEngine.Profiling; public class Example : MonoBehaviour { public class Hoge { } public struct Fuga { } private void Start() { var count = 1000000; var samplerA = CustomSampler.Create( "AAAAAAAAAAAAAAAAAAAA…

【Unity】uGUI でアウトラインのみの単色の四角形を表示する

概要 参考サイト様

【Unity】uGUI で単色の四角形を表示する

概要 参考サイト様

【Unity】static な event の登録数を取得する方法

概要 using System; using System.Reflection; public static class DelegateExt { public static int GetLength<T>( string name ) { return GetLength( typeof( T ), name ); } public static int GetLength( this Type self, string name ) { var attrs = Bi</t>…

【Unity】Hierarchy に uGUI の raycastTarget を変更するチェックボックスを表示するエディタ拡張

概要

【Unity】ゲームオブジェクトの Hierarchy におけるパスを取得できる拡張メソッド

ソースコード using UnityEngine; public static class GameObjectExt { public static string GetHierarchyPath( this GameObject gameObject ) { var path = gameObject.name; var parent = gameObject.transform.parent; while ( parent != null ) { path…

【Unity】Inspector で参照が設定されていない項目が存在したらエディタを再生できなくするエディタ拡張

ソースコード 上記のスクリプトを Unity プロジェクトの 「Editor」フォルダに追加することで使用できます 使い方 using JetBrains.Annotations; using UnityEngine; public class Test : MonoBehaviour { [NotNull] public Sprite m_sprite; } 例えば NotNu…

【Unity】Unity エディタを再生できないようにするエディタ拡張

概要 using UnityEditor; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.playModeStateChanged += OnChange; } private static void OnChange( PlayModeStateChange state ) { if ( state == PlayModeStateChange…