private void ElegirAccion() { clsControlTurno ataque = new clsControlTurno(); // Obtener nombre del enemigo ataque.enemigo = enemigo.nombre; // Obtener el tipo ataque.tipo = "Enemigo"; // Obtener el prefab del enemigo ataque.prefabEnemigo = this.gameObject; // Obtener el objetivo del enemigo entre todos los aliados ataque.objetivoEnemigo = sFreya.aliados[Random.Range(0, sFreya.aliados.Count)]; // Realizar el ataque elegido int tempNum = Random.Range(0, enemigo.ataques.Count); ataque.ataqueElegido = enemigo.ataques[tempNum]; // Atacar sFreya.Acciones(ataque); }
public void Update() { switch (estadoBatalla) { case Freya.Esperando: if (proxTurno.Count > 0) { estadoBatalla = Freya.TomarAccion; } break; case Freya.TomarAccion: GameObject proceso = GameObject.Find(proxTurno[0].enemigo); if (proxTurno[0].tipo == "Enemigo") { EnemigoMEstados EME = proceso.GetComponent <EnemigoMEstados>(); for (int n = 0; n < aliados.Count; n++) { if (proxTurno[0].objetivoEnemigo == aliados[n]) { EME.posicionAliado = proxTurno[0].objetivoEnemigo; EME.estadoTurno = EstadoTurno.Accion; break; } else { proxTurno[0].objetivoEnemigo = aliados[Random.Range(0, aliados.Count)]; EME.posicionAliado = proxTurno[0].objetivoEnemigo; EME.estadoTurno = EstadoTurno.Accion; } } } if (proxTurno[0].tipo == "Aliado") { AliadoMEstados AME = proceso.GetComponent <AliadoMEstados>(); AME.posicionEnemigo = proxTurno[0].objetivoEnemigo; AME.estadoTurno = EstadoTurno.Accion; } estadoBatalla = Freya.RealizarAccion; break; case Freya.RealizarAccion: break; case Freya.ComprobarVida: if (aliados.Count < 1) { // Ganar Batalla estadoBatalla = Freya.Derrota; } else if (enemigos.Count < 1) { // Perder Batalla estadoBatalla = Freya.Ganar; } else { // Limpiar panel ClearPanelAtaque(); aliadoGUI = AliadoGUI.Activado; } break; case Freya.Derrota: NGUIDebug.Log("Has perdido la batalla"); for (int i = 0; i < enemigos.Count; i++) { enemigos[0].GetComponent <EnemigoMEstados>().estadoTurno = EstadoTurno.Esperando; } break; case Freya.Ganar: NGUIDebug.Log("Has ganado la batalla"); for (int i = 0; i < aliados.Count; i++) { aliados[0].GetComponent <AliadoMEstados>().estadoTurno = EstadoTurno.Esperando; } break; } switch (aliadoGUI) { case AliadoGUI.Activado: if (ManagerAliado.Count > 0) { ManagerAliado[0].transform.Find("Selector").gameObject.SetActive(true); eleccionAliado = new clsControlTurno(); panelAcciones.SetActive(true); CrearBtnAtaques(); aliadoGUI = AliadoGUI.Esperando; } break; case AliadoGUI.Esperando: Time.timeScale = 0.0f; break; case AliadoGUI.Finalizado: AliadoTurnoTerminado(); break; } }
public void Acciones(clsControlTurno input) { proxTurno.Add(input); }