public void SeleccionadoHeroeEnemigo(GameObject gameobj) { //Desactiva el menu de comandos sistemaMenus.DesactivarMenu(); //Mandar orden de ataque switch (menuAnterior) { case HeroeStateMachine.HeroeInputMenu.NINGUNO: HSM.Atacar(gameobj); break; case HeroeStateMachine.HeroeInputMenu.MAGIA: //Mandar orden de ataque HSM.LanzarMagia(magia, gameobj); break; case HeroeStateMachine.HeroeInputMenu.OBJETOS: HSM.LanzarObjeto(objeto, gameobj); break; } //Reset menu selector de heroes ResetMenuSeleccion(); }
public void AcabarTurno() { //Desactivar menu de comandos sistemaMenus.DesactivarMenu(); estadoMenu = HeroeInputMenu.NINGUNO; //Colocamos la accion a espera estadoTurno = EstadoTurno.ESPERANDO; if (turnoBreak) { turnoBreak = false; } else { //Colocar al personaje el ultimo del array var temp = sistemaTurnos.turnosPersonajes[0]; for (int i = 0; i < sistemaTurnos.turnosPersonajes.Count - 1; i++) { sistemaTurnos.turnosPersonajes[i] = sistemaTurnos.turnosPersonajes[i + 1]; } sistemaTurnos.turnosPersonajes[sistemaTurnos.turnosPersonajes.Count - 1] = temp; } }
public void ComprobarEstadoBatalla() { if (!accionActual.Equals(Accion.VACIO) && !SceneManager.GetActiveScene().name.Equals("Hoguera") && !SceneManager.GetActiveScene().name.Equals("Tesoro")) { if (enemigosCombate.Count == 0) { if (!accionActual.Equals(Accion.VACIO)) { accionActual = Accion.VICTORIA; sistemaMenus.DesactivarMenu(); } } if (heroesCombate[0].CompareTag("Muerto") && heroesCombate[1].CompareTag("Muerto") && heroesCombate[2].CompareTag("Muerto") && heroesCombate[3].CompareTag("Muerto")) { accionActual = Accion.DERROTA; } if (GameObject.FindGameObjectsWithTag("Enemigo").Length != cantEnemigosCombate) { enemigosCombate.RemoveRange(0, enemigosCombate.Count); enemigosCombate.AddRange(GameObject.FindGameObjectsWithTag("Enemigo")); } if ((turnosPersonajes[0] == null) || (turnosPersonajes[0].CompareTag("Enemigo") && turnosPersonajes[0].GetComponent <EnemigoStateMachine>().estadoTurno.Equals(EnemigoStateMachine.EstadoTurno.MUERTO))) { turnosPersonajes.RemoveAt(0); } for (int i = 0; i < enemigosCombate.Count; i++) { if (enemigosCombate[i].GetComponent <EnemigoStateMachine>().estadoTurno.Equals(EnemigoStateMachine.EstadoTurno.MUERTO)) { enemigosCombate.RemoveAt(i); } } } }