#概要
UdonSharpでは他オブジェクトのUdonSharp関数にアクセスできない(たぶん)
そのため、複数の機能をワールドに持たせたい場合、1つのClassファイルが大きくなる
傾向にある(と思う。知識不足感が否めませんが。)
1つのクラスに複数の機能を盛り込む場合のソースの設計についてご紹介。
今回は直接的なUdonSharpの話ではありません。
1つのクラスに対し機能を追加していく過程でスパゲッティになってしまうこともあると思います。
そこで一つの解決策をご提示できたら幸いです。
ここら辺のノウハウって「あたりまえだよ~」的な感じであまり共有されていないんじゃないかな?
なんて思ってたりします。
(私もデザインパターンを勉強しないと)
#ソースコードの構成
設計の目的は機能追加がしやすいことです。
具体的には下記の2点を心がけること
1.必要な変数・関数をコピペして定義できる。(切り貼りの範囲が明確である。独立性が高い)
2.実行するためには最小の関数をメイン関数(UdonSharpでははStart()とUpdate())に登録すればよい。
1.に関しては名前空間を定義して、接頭語としてクラスメンバ変数・クラスメンバ関数につけてあげること
2.に関しては**_init()と**_Update()を呼べば動く状態にすること
といった感じです。
他の人のソース構成も知りたいですね。