Así que tengo el siguiente fragmento de código

[HideInInspector]
public Color color;
[HideInInspector]
public bool active;
[HideInInspector]
public bool started;
[HideInInspector]
public PlayerAbilities playerAbilities;
[HideInInspector]
public PlayerMovement playerMovement;
[HideInInspector]
public PlayerControls controls;

Y realmente quiero limpiar este desastre. Todas las variables deben ser públicas, pero no las quiero en el inspector. ¿Hay una manera simple de arreglar esto?

Gracias

1
CherryFake 22 dic. 2019 a las 22:23

2 respuestas

La mejor respuesta

Puede convertirlos en una propiedad, de todos modos esa es la forma C #, y Unity no puede serializar las propiedades para que no aparezcan en el inspector (también los campos de visibilidad privados también están ocultos para el inspector, pero no sé el caso de uso de sus campos ) P.ej.:

public Color color{get; set;}
public bool active{get; set;}
public bool started{get; set;}
public PlayerAbilities playerAbilities{get; set;}
public PlayerMovement playerMovement{get; set;}
public PlayerControls controls{get; set;}

Si viene de otro lenguaje de programación, la sintaxis anterior puede ser extraña para usted, por lo que puede leer más sobre las propiedades aquí.

Además, haciendo esto:

[HideInInspector]
public bool boolean, anotherBoolean, andAnotherOne;

Aplicará la etiqueta de atributo para los tres campos. Pero realmente no me gusta este método porque a menudo perjudica la lectura, a menos que realmente agrupe las variables que lógicamente pertenecen juntas.

4
Menyus 27 dic. 2019 a las 18:29

Ok en realidad es muy simple

Reemplacé los públicos por protegidos

protected bool started;
protected Color color;

Etcetera.

Está escondido en la inspectora pero puedo acceder a ellas.

-1
CherryFake 22 dic. 2019 a las 20:03