変数名を変えると値が初期化される
using UnityEngine;
public class TestClass : MonoBehaviour
{
public int testCount;
[SerializeField] private string testStr;
}
Unityでは、変数の値をInspectorで設定することが出来ます。
ですが、スクリプト側で変数の名前を変えてしまうと、せっかく設定した変数の値が初期化されてしまいます。
そんな時、FormerlySerializedAsを使えば、値が初期化されることなく変数名を変えることが出来ます!
FormerlySerializedAsを使う
using UnityEngine;
using UnityEngine.Serialization; //追加
public class TestClass : MonoBehaviour
{
[FormerlySerializedAs("testCount")] //変更前の変数名を設定する
public int count;
[FormerlySerializedAs("testStr")] //変更前の変数名を設定する
[SerializeField] private string str;
}
変数名を変更した後に、変数の上にFormerlySerializedAsを記述します。
引数に変更前の変数名を入れることで、その値を引き継ぐことが出来ます!
エディターに戻って、値が変わっていなければ成功です!
お疲れさまでした!