📝
UnityでJsonUtilityを使ってクラスをシリアライズした時のJSONのキー名を取得する
using System;
using System.Linq;
using UnityEngine;
using System.Reflection;
public static class JsonKey
{
public static string[] GetKeys<T>()
{
return typeof(T).GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance).Where(f => f.IsPublic || Attribute.IsDefined(f, typeof(SerializeField))).Select(f => f.Name).ToArray();
}
public static void CopyKeys<T>()
{
GUIUtility.systemCopyBuffer = string.Join("\t ", GetKeys<T>());
}
}
呼び出しは JsonKey.CopyKeys<MyClassData>
という感じになります。
スプレッドシートでマスタデータみたいなものを作りたいけど、ゴツいことをやりたくなかったので
でJSONで書き出したテキストをUnityで読み込ませるのが楽かなと思い、クラスの変数部分を楽にスプレッドシートに貼れるようにしたくてつくった感じでした。
Discussion