Digamos que tengo una variable llamada button
de tipo Button
que es, por supuesto System.Serializable
.
Quiero que esa variable se pueda asignar a través del inspector, así que lo hago public
:
public class SomeScript : MonoBehaviour{
public Button button;
}
Lo que me da eso:
Ahora, quiero mantener el código limpio y seguro (organizado) y hay una razón real por la que necesito preservar la encapsulación.
Sé que hay varias formas de recuperar componentes en tiempo de ejecución como transform.Find("Some/Genius/TypeUnsafe/Path")
o GameObject.Find("3 seconds scene iteration").GetComponent(...).
quiero evitar eso.
¿Cómo mezclo una variable private access
con la que está public access
en el inspector?
UI
/ API
MVC
/ MVVM
patrón para una gran aplicación (un cliente de juego en realidad) y tuve que separar UI
el API
. Necesitaba asignar valores a través de la causa del inspector simplemente: no hay otra manera. Find()
los métodos no son seguros para el tipo y es más fácil armar las cosas arrastrando y soltando Es muy, muy difícil construir un marco clásico de OOP Unity
y hay que buscar cosas extrañas como esta.
private
en realidad no tiene la intención de evitar que un tercero obtenga acceso a un campo, está destinado a proporcionar una manera de decir "no mires detrás de la cortina a lo que realmente estoy haciendo", es decir, es principalmente una forma de evitar que tengas acceso a él.