コガネブログ

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

2018-08-16から1日間の記事一覧

【Unity】【Odin Inspector 2.0 新機能】任意のクラスの static 変数やプロパティの閲覧や編集、static 関数の実行ができる「Static Inspector Utility」

アセット 概要 Unity メニューの「Tools>Odin Inspector>Static Inspector」を選択して 「SelectType」を選択して 任意のクラスを選択することで そのクラスの static 変数やプロパティの値を閲覧できます 編集可能な変数やプロパティの値は編集することもで…

【Unity】【Odin Inspector 2.0 新機能】static 変数やプロパティの値を Inspector に表示できる「ShowInInspector」

アセット 概要 using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [ShowInInspector] private static string m_hoge; [ShowInInspector] private static string m_fuga { get { return "ライチュウ"; } } } 「ShowIn…

【Unity】【Odin Inspector 2.0 新機能】引数のある関数を Inspector から実行できる「Button」

アセット 概要 using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [Button] private void Default( float t, float b, float[] c ) { } [Button( ButtonSizes.Medium, ButtonStyle.FoldoutButton )] private int Fol…

【Unity】【Odin Inspector 2.0 新機能】クラスに属性を適用する

アセット 概要 バージョン 2.0 まで using Sirenix.OdinInspector; using UnityEngine; public class MyClass<T> { public bool isEnabled; public T foo; public T bar; } public class Example : SerializedMonoBehaviour { [Required] [LabelWidth( 70 )] [T</t>…

【Unity】【Odin Inspector 2.0 新機能】表示領域に合わせてボタンのサイズを自動調整できる「ResponsiveButtonGroup」

アセット 概要 using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [ResponsiveButtonGroup( UniformLayout = true, DefaultButtonSize = ButtonSizes.Large )] public void FooFooFooFooFoo() { } [GUIColor( 0, 1, …

【Unity】【Odin Inspector 2.0 新機能】クラスに説明文を付与できる「TypeInfoBox」

アセット 概要 using Sirenix.OdinInspector; using UnityEngine; [TypeInfoBox( "ピカチュウ" )] public class Example : MonoBehaviour { public string Name; public int X; public int y; } 「TypeInfoBox」属性を使用することで クラスに説明文を付与で…

【Unity】【Odin Inspector 2.0 新機能】InlineEditor 内で描画されているかどうかで表示・非表示が変わる「ShowInInlineEditors」「HideInInlineEditors」

アセット 概要 using Sirenix.OdinInspector; using UnityEngine; [CreateAssetMenu] public class Data : ScriptableObject { [HideInInlineEditors] public string m_name; [ShowInInlineEditors] public int m_id; } using Sirenix.OdinInspector; using …

【Unity】【Odin Inspector 2.0 新機能】無効化されている GUI を有効化できる「EnableGUI」

アセット 概要 通常 using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [ShowInInspector] public string Name { get { return "ピカチュウ"; } } } EnableGUI using Sirenix.OdinInspector; using UnityEngine; pub…

【Unity】【Odin Inspector 2.0 新機能】TableList 内で描画されている時のみ非表示になる「HideInTables」

アセット 概要 using Sirenix.OdinInspector; using System; [Serializable] public class Data { public int m_id; public string m_name; public float m_height; [HideInTables] public float m_weight; } using Sirenix.OdinInspector; using UnityEngin…

【Unity】【Odin Inspector 2.0 新機能】変数、プロパティ、関数の前後にスペースを表示できる「PropertySpace」

アセット 概要 using Sirenix.OdinInspector; using UnityEngine; public class Example : MonoBehaviour { [Space] public int MyField; [ShowInInspector, PropertySpace( 16 )] public int MyProperty1 { get; set; } [ShowInInspector, PropertySpace( 1…

【Unity】【Odin Inspector 2.0 新機能】InlineEditor 属性の引数の追加

アセット 概要 2.x まで using Sirenix.OdinInspector; using UnityEngine; [CreateAssetMenu] [InlineEditor] public class Data : SerializedScriptableObject { public Data m_self; [InlineEditor] public PhysicsMaterial2D m_mat; [ShowInInspector] […

【Unity】【Odin Inspector 2.0 新機能】特定のクラスのパラメータに属性を付与できる「Attribute Processors」

アセット 概要 using System; [Serializable] public class Data { public int m_id; public string m_name; } using UnityEngine; public class Example : MonoBehaviour { public Data m_data; } using Sirenix.OdinInspector; using Sirenix.OdinInspecto…

【Unity】【Odin Inspector 2.0 新機能】特定のクラスにプロパティやボタンを付与できる「Property Processors」

アセット 概要 using UnityEngine; public enum JobType { SOLDIER, SORCERER, HUNTER, } public class Example : MonoBehaviour { public int m_id; } using Sirenix.OdinInspector; using Sirenix.OdinInspector.Editor; using System.Collections.Generic…

【Unity】【Odin Inspector 2.0 新機能】ValueDropdown 属性が拡張された

アセット 概要 using Sirenix.OdinInspector; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Example : MonoBehaviour { [ValueDropdown( "GetAllChildObjects" )] public GameObject m_object; [ValueDrop…

【おすすめスライド】「さては密結合だなオメー Clean Architecture で学ぶ テストフレンドリーな疎結合設計」

スライド