【Unity】FindやSerializeFieldを使用せず他のスクリプトを使用したい!
FindやSerializeFieldを使用せず他のスクリプトを使用したい!
データやオブジェクトを管理するManagerを作ることは多々あると思います。
その際、Manager側のメソッドをFindやSerializeFieldを使って呼ぶのが億劫だと思ったので、ちょっとした方法をご紹介します。
Unityバージョン:Unity 2018.3.13f1
やり方
シングルトンを使用します。
下記の記事を参考にさせて頂きました。
https://www.hanachiru-blog.com/entry/2018/09/26/010232
①Managerのclassと同じ型の変数をpublic staticで定義
②定義した変数にthisを代入
③どこからでもクラス名.宣言した変数でアクセス可能に
Sceneを跨いで使用しない想定なので自身のgameObjectの削除は行っていません。
これで、他のスクリプトから呼べます。
注意点
他にもシングルトンの実装方法はあったので、もっと調べてみる方がよさそうですね……(>_<)