三流豆腐。

三流のゲームプログラマ。C/C++/C#/Objective-C/python/技術向上を目指します。

【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を代入

③どこからでもクラス名.宣言した変数でアクセス可能に

f:id:tofu_doon:20190427211247p:plain

Sceneを跨いで使用しない想定なので自身のgameObjectの削除は行っていません。

f:id:tofu_doon:20190427211258p:plain

これで、他のスクリプトから呼べます。

f:id:tofu_doon:20190427212137p:plain

注意点

他にもシングルトンの実装方法はあったので、もっと調べてみる方がよさそうですね……(>_<)