Diyelim ki elbette ki button
type adlı bir değişkenim var .Button
System.Serializable
Bu değişkenin müfettiş aracılığıyla atanabilir olmasını istiyorum, bu yüzden bunu yapıyorum public
:
public class SomeScript : MonoBehaviour{
public Button button;
}
Bu da bana şunu veriyor:
Şimdi, kodu temiz ve güvenli (organize) tutmak istiyorum ve kapsüllemeyi korumamın gerçek bir nedeni var.
Çalışma zamanında bileşenleri almanın birden fazla yolu olduğunu biliyorum transform.Find("Some/Genius/TypeUnsafe/Path")
veya bundan GameObject.Find("3 seconds scene iteration").GetComponent(...).
kaçınmak istiyorum.
Nasıl bir değişken birbirine karıştırıyorsunuz private access
öyle ile public access
denetçisindeki?
UI
/ API
MVC
/ MVVM
dev uygulama için desen (aslında bir oyun istemcisi) ve ben ayırmak zorunda UI
dan API
. Müfettiş aracılığıyla değerler atamam gerekiyordu, çünkü başka yolu yok. Find()
yöntemleri güvensizdir ve sürükleyip bırakarak işleri bir araya getirmek daha kolaydır. Klasik bir OOP çerçevesi oluşturmak gerçekten, gerçekten zor Unity
ve bunun gibi hileli şeyler aramalısınız.
private
üçüncü bir tarafın bir alana erişmesini önlemek için tasarlanmamıştır, "gerçekten yaptığım şeye perdenin arkasına bakma" demek için bir yol sağlamak anlamına gelir - yani, çoğunlukla erişmenize engel olun .