もちろんbutton
、type という名前の変数があるとします。Button
System.Serializable
その変数をインスペクターを通じて割り当て可能にしたいので、次のようにしますpublic
。
public class SomeScript : MonoBehaviour{
public Button button;
}
それは私にそれを与えます:
今、私はコードをクリーンで安全な(整理された)状態に保ちたいのですが、カプセル化を維持する必要がある本当の理由があります。
私は実行時にコンポーネントを取得する方法が複数あることを知っています。transform.Find("Some/Genius/TypeUnsafe/Path")
または、GameObject.Find("3 seconds scene iteration").GetComponent(...).
それを避けたいです。
インスペクターで変数private access
をどのように混合しますpublic access
か?
UI
/ API
MVC
/ MVVM
巨大なアプリケーションのためのパターン(実際にゲームクライアントを)と私は分離しなければならなかったUI
からAPI
。私は単にインスペクターの原因によって値を割り当てる必要がありました-他に方法はありません。Find()
メソッドは安全ではないタイプであり、ドラッグアンドドロップで物事をまとめる方が簡単です。クラシックなOOPフレームワークを構築するのは本当に本当に難しいUnity
ので、このようなハックなものを探す必要があります。
private
サードパーティがフィールドにアクセスするのを防ぐことを意図したものではありません。「私が実際に行っていることに目を向けないでください」と言う方法を提供することを目的としています。つまり、それは主にアクセスできないようにします。