Complemento ngui de Unity3D para ocultar y mostrar objetos del juego
static public void SetActive (GameObject go, estado bool)
{
if (estado)
{
Activar (go . transform);
}
Otro
{
Desactivar (go . transform);
p>}
}
Entonces Activae (transformación t) se define de la siguiente manera:
Activación estática no válida (transformación t)
{
SetActiveSelf(t.gameObject, true);
//Antes de Unity 4, los estados activos no estaban anidados. Un objeto deshabilitado puede tener un objeto secundario habilitado.
// Unity 4 y versiones posteriores hacen que los estados estén anidados, un padre discapacitado conduce a un hijo discapacitado.
#If unified_3_5
for (int i = 0, IMAX = t. get child count(); i ltimax i)
{ p>
transformar niño = t . get niño(I);
activar(niño);
}
#de lo contrario
//Si solo hay un nodo secundario habilitado, entonces estamos usando el esquema de estado activo anidado basado en Unity 4.0.
for (int i = 0, imax = t.childCount i ltimax i)
{
transformar niño = t obtener niño(I);
if (child.gameObject.activeSelf) return;
}
//Si se alcanza este punto, todos los nodos secundarios están deshabilitados, por lo que debemos usar Actividad. Solución de estado basada en Unity 3.5.
for (int i = 0, imax = t.childCount i ltimax i)
{
transformar niño = t obtener niño(I);
Activar(niño);
}
#endif
}
SetActiveSelf(t.gameObject, verdadero ); El método se define de la siguiente manera:
Static public void SetActiveSelf(GameObject go, bool state)
{
#If unified_3_5
go.active = estado
#De lo contrario
Vamos. SetActive(status);
#endif
}
La conclusión son sus nguitools. set active(gameobject, false); después de todo, este método todavía usa GameObject. Configure el método Activar (Bool State) para que pueda usar GameObject. Configure directamente el método Activar (estado Bool).