Saludos,
Tengo con un problema con la programación de unos toggles de una interfaz. Son 4 toggles dentro de un toggle group. Cada toggle activa el panel de habilidades de un personaje en concreto. Funcionaban perfectamente hasta que estuve añadiendo la funcionalidad en la que al seleccionar un toggle cuando ya está activo, te centra la cámara al personaje correspondiente. Però esto lo hice dentro del Update(), y no en el método que se activa al seleccionar el toggle. Ahora pues, aunque se activan los toggles (En el inspector se activa el booleano "Is On"), ya no se activa el panel de habilidades.
Este es el código que se activa al seleccionar uno de los toggles (los demás siguen la misma estructura):
Cuando seleccionas el toggle, el print() saca por consola que el valor sigue siendo FALSE, por lo que deduzco que el código se ejecuta y que el problema está en que, aunque gráficamente se activa el toggle y en el inspector aparece el booleano Is On activado, no se porque motivo el valor se mantiene en FALSE, y esto lleva a que no se active el panel de habilidades.
He probado muchas cosas y no encuentro que puede ser. A alguien se le ocurre alguna solución?
No soy muy experto aún, pero tengo la sensación de que se debe haber bugueado Unity o algo similar, ya que si se activa el toggle y se ejecuta el código, el print() deberia devolver valor TRUE sin dudarlo, me equivoco?
Muchísimas gracias de antemano!
Tengo con un problema con la programación de unos toggles de una interfaz. Son 4 toggles dentro de un toggle group. Cada toggle activa el panel de habilidades de un personaje en concreto. Funcionaban perfectamente hasta que estuve añadiendo la funcionalidad en la que al seleccionar un toggle cuando ya está activo, te centra la cámara al personaje correspondiente. Però esto lo hice dentro del Update(), y no en el método que se activa al seleccionar el toggle. Ahora pues, aunque se activan los toggles (En el inspector se activa el booleano "Is On"), ya no se activa el panel de habilidades.
Este es el código que se activa al seleccionar uno de los toggles (los demás siguen la misma estructura):
public void BtnCamaleon (bool nuevoValor) {
print ("Valor nuevoValor: " + nuevoValor);
btn01.transform.SetSiblingIndex(1);
btn02.transform.SetSiblingIndex(2);
btn03.transform.SetSiblingIndex(3);
btn04.transform.SetSiblingIndex(4);
btn05.transform.SetSiblingIndex(5);
if (!camaleonDentroNave) { //Si el PJ está fuera de la nave, activa el panel normal
panelCamaleon.SetActive(nuevoValor);
}else{ //Si el PJ está dentro de la nave, activa el panel de nave
if (naveActiva) panelCamaleonNave.SetActive(nuevoValor);
}
}
Cuando seleccionas el toggle, el print() saca por consola que el valor sigue siendo FALSE, por lo que deduzco que el código se ejecuta y que el problema está en que, aunque gráficamente se activa el toggle y en el inspector aparece el booleano Is On activado, no se porque motivo el valor se mantiene en FALSE, y esto lleva a que no se active el panel de habilidades.
He probado muchas cosas y no encuentro que puede ser. A alguien se le ocurre alguna solución?
No soy muy experto aún, pero tengo la sensación de que se debe haber bugueado Unity o algo similar, ya que si se activa el toggle y se ejecuta el código, el print() deberia devolver valor TRUE sin dudarlo, me equivoco?
Muchísimas gracias de antemano!