通知
すべてクリア
16/03/2021 10:25 pm
[SerializeField] private GameObject target;
のようにprivateな変数を[SerializeField]でインスペクターに表示し、
インスペクター上で値を取得するとき
「Field ‘FollowPlayer.target’ is never assigned to, and will always have its default value null」
の警告が出るため、「= default」とデフォルト値をアサインして回避しておりますが、
警告が出るたびに全てのprivate変数にデフォルト値をつけていくしかないのでしょうか?
それとももっと効率的な方法があるのでしょうか?
16/03/2021 10:26 pm
警告を出さなくする回避方法はいくつかありますが、defaultを1個1個記述するのがベストかと思われます。
もし1つ1つ対処するのが面倒であれば、VisualStudioであればフォルダ内一括置換などができるので
一括置換などをするのも一つの手だと思います。
https://qiita.com/chocho/items/1633f56e57c4291f47cf
16/03/2021 10:28 pm
ご回答ありがとうございます!
ーーー
■\[SerializeField\]([^=]+?);
[^=] : =が含まれていない
+? : 1つ以上
上記二つの意味をあわせて「=が一つ以上含まれていないもの」
■[SerializeField]$1 = default;
$1 : ()内のものをそのまま使う
ーーー
と書くんですね(正規表現…なんと難しい…)