リブラ

グラフィックスプログラミングの勉強や制作の進捗がメイン

【Unity】ScriptableObjectを編集する簡素なEditor拡張

RPGを作る課題の時に勝手に作成した副産物を紹介します。
f:id:printf_Kei:20220123143514p:plain
ソースコードかなり汚いから次作る時は直したいところ

難しいことは何もしてないですが応用できそうなので残しておきます。

どちらかと言えばこっからが本題

作成したデータが初期化される場合

ScriptableObjectのデータがコンパイル時や再起動時に初期化される現象がおきました
対処としてこちらの記事を参考にしました
tsubakit1.hateblo.jp
私の場合はシリアル化していないのが原因で、EnemyData構造体はシリアライズしてたけどScriptableObjectを継承したEnemyDatasのメンバをprivateで宣言していたためシリアル化されず初期化されてしまいました。
シリアル化についてはこちらを参照しました。
docs.unity3d.com
また、調べている時に別の理由で初期化される場合の記事を見つけたのでリンクしておきます。
kan-kikuchi.hatenablog.com