読者です 読者をやめる 読者になる 読者になる

万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

Editor

UnityでinterfaceのList

ReorderableListを使いたいが interfaceはシリアライズにできないので http://answers.unity3d.com/questions/783456/solution-how-to-serialize-interfaces-generics-auto.html https://msdn.microsoft.com/en-us/library/system.runtime.serialization.ise…

UnityのAnimatorのControllerを拡張

普段無いが、 using UnityEditor; using UnityEditor.Animations; using UnityEngine; [CustomEditor(typeof(AnimatorController))] public class AnimatorControllerInspector : Editor { public override void OnInspectorGUI() { } } これでいける。

Inspector拡張でEditorのScript表示

[CustomEditor(typeof(Hoge))] public class HogeEditor : Editor { public override void OnInspectorGUI() { MonoScript script = MonoScript.FromScriptableObject(this); script = EditorGUILayout.ObjectField(script, typeof(MonoScript), false) as M…

Unity C# ノードエディタ

PlayMaker的なStateMachineの図みたいなのをEditorで作りたい BahaviorMachineという無料アセット有るけどdllだった・・・ https://www.assetstore.unity3d.com/en/#!/content/20280 https://forum.unity3d.com/threads/drawing-lines-in-the-editor.71979/ …

Unity EditorでArrayのbool, string

面倒なので拡張 public static class Extends { /// <summary> /// Gets the bool array value. /// boolの配列を取得する. /// </summary> /// <returns>The bool array value.</returns> /// <param name="myProp">My property.</param> /// <param name="key">Key.</param> public static bool[] GetBoolArrayValue(this SerializedProp…

UnityEditorでのNullReferenceExceptionのハマり

string hoge; で宣言して、 this.hoge = GUILayout.TextField(this.hoge, 200); とすると、 NullReferenceException: Object reference not set to an instance of an object UnityEngine.GUI.DoTextField (Rect position, Int32 id, UnityEngine.GUIContent…

C# Unity EditorのInspector拡張で自前のクラスの変換

Hogeクラスは何の変哲もないMonoBehaviorの継承でもないふつーのクラス。 シリアライズのため[System.Serializable] [System.Serializable] class Hoge { string bar; } そしてInsppectorを表示していたクラス public class MyMono : MonoBehaviour { [Seria…

カスタムインスペクタでプライベートメソッドにアクセス

invoke a method from a Unity Inspector カスタムアトリビュートを作る? using System; // Place this file in any folder that is or is a descendant of a folder named "Scripts" namespace CatchCo { // Restrict to methods only [AttributeUsage(Att…