public void Start() { selector.SetActive(false); sFreya = GameObject.Find("SFreya").GetComponent <SFreya>(); estadoTurno = EstadoTurno.Procesando; posicionInicial = transform.position; }
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 List <Turno> obtenerTurnosPorSemana(DateTime fechaDesde, DateTime fechaHasta, int idProfesional) { EnlaceDatos datos = new EnlaceDatos(); SqlDataReader drTurnos = datos.getTurnosPorSemana(fechaDesde, fechaHasta, idProfesional); if (drTurnos.HasRows) { List <Turno> lsTurnos = new List <Turno>(); while (drTurnos.Read()) { Turno turno = new Turno(); turno.IdTurno = Convert.ToInt32(drTurnos[0].ToString()); turno.FechaTurno = drTurnos.GetDateTime(1); turno.HoraInicio = Convert.ToDateTime(drTurnos[2].ToString()); turno.HoraFin = Convert.ToDateTime(drTurnos[3].ToString()); turno.Comentario = drTurnos.GetString(4); EstadoTurno estado = new EstadoTurno(); estado.IdEstado = Convert.ToInt32(drTurnos[5].ToString()); estado.Nombre = drTurnos[6].ToString(); Paciente paciente = new Paciente(); paciente.IdPaciente = Convert.ToInt32(drTurnos[7].ToString()); paciente.Apellido = drTurnos[8].ToString(); paciente.Nombre = drTurnos[9].ToString(); turno.EstadoTurno = estado; turno.Paciente = paciente; lsTurnos.Add(turno); } return(lsTurnos); } return(null); }
/// <summary> /// <para>Recibe daño del enemigo</para> /// </summary> public void RecibirDamage(float damage)// Recibe daño del enemigo { enemigo.actualHP -= damage; if (enemigo.actualHP <= 0) { enemigo.actualHP = 0; estadoTurno = EstadoTurno.Muerte; } }
public void MeToca() { estadoTurno = EstadoTurno.MITURNO; ResetEstadisticas(); //Nuevas Modificaciones sistemaMenus.HSM = this; sistemaMenus.VolverMenu(); }
void Start() { heroeBackup = new Dictionary <string, int>(); BackupEstadisticas(); sistemaTurnos = GameObject.Find("BattleHandler").GetComponent <SistemaTurnos>(); sistemaMenus = GameObject.Find("BattleHandler").GetComponent <SistemaMenus>(); estadoMenu = HeroeInputMenu.NINGUNO; estadoTurno = EstadoTurno.ESPERANDO; posicionInicial = transform.position; }
public void Revivir() { transform.tag = "Player"; estadoTurno = EstadoTurno.ESPERANDO; //Cambiar shader a normal this.gameObject.GetComponent <SpriteRenderer>().material.color = Color.white; this.gameObject.transform.Find("Death").gameObject.SetActive(false); //sistemaTurnos.heroesCombate.Add(this.gameObject); sistemaTurnos.turnosPersonajes.Add(this.gameObject); }
public void Muerte() { transform.tag = "Muerto"; estadoTurno = EstadoTurno.MUERTO; //Cambiar shader a gris this.gameObject.GetComponent <SpriteRenderer>().material.color = Color.gray; this.gameObject.transform.Find("Death").gameObject.SetActive(true); //sistemaTurnos.heroesCombate.Remove(this.gameObject); sistemaTurnos.turnosPersonajes.Remove(this.gameObject); }
private IEnumerator TiempoDeAccion() { if (iniciarAccion) { yield break; } iniciarAccion = true; //Movimiento hacia la posicion del objetivo Vector3 _posicionEnemigo = new Vector3(posicionEnemigo.transform.position.x + 1.5f, posicionEnemigo.transform.position.y, posicionEnemigo.transform.position.z); while (MoverHaciaEnemigo(_posicionEnemigo)) { yield return(null); } // Esperando la habilidad yield return(new WaitForSeconds(0.5f)); // Pasando valores RealizarDamage(); // Movimiento hacia la posicion inicial Vector3 primeraPos = posicionInicial; while (MoverHaciaInicio(primeraPos)) { yield return(null); } // Quitar este proceso de la lista de SFreya sFreya.proxTurno.RemoveAt(0); // Resetear SFreya if (sFreya.estadoBatalla != Freya.Ganar && sFreya.estadoBatalla != Freya.Derrota) { sFreya.estadoBatalla = Freya.Esperando; // Resetear el estado del enemigo actualCD = 0.0f; estadoTurno = EstadoTurno.Procesando; } else { estadoTurno = EstadoTurno.Esperando; } // Fin Corutina iniciarAccion = false; }
/// <summary> /// <para>Recibe daño del enemigo</para> /// </summary> public void RecibirDamage(float damage)// Recibe daño del enemigo { aliado.actualHP -= damage; if (aliado.actualHP <= 0) { aliado.actualHP = 0; estadoTurno = EstadoTurno.Muerte; } ActualizarPanelAliado(); }
public void ActualizarProgressBar() { actualCD = actualCD + Time.deltaTime; float calculoCD = actualCD / maxCD; progressBar.value = Mathf.Clamp(calculoCD, 0, 1); if (actualCD >= maxCD) { estadoTurno = EstadoTurno.AgregandoALista; } }
private void ActualizarProgressBar() { actualCD = actualCD + Time.deltaTime; float calculoCD = actualCD / maxCD; progressBar.value = Mathf.Clamp(calculoCD, 0, 1); if (actualCD >= maxCD) { estadoTurno = EstadoTurno.EscogerAccion; } }
public void AcabarTurno() { //Colocamos la accion a espera estadoTurno = EstadoTurno.ESPERANDO; //Colocar al enemigo 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 Atacar(GameObject enemigo) { ataque = new HandleAction(); ataque.atacante = heroe.nombre; ataque.tipoAtacante = HandleAction.TipoAtacante.PERSONAJE; ataque.atacanteGameObj = this.gameObject; ataque.ataque = heroe.ataque; //Seleccionamos el objetivo ataque.objetivoGameObj = enemigo; //Añadimos la accion al sistema de batalla sistemaTurnos.RealizarAccion(ataque); StartCoroutine(Accion(enemigo)); estadoTurno = EstadoTurno.ESPERANDO; }
public List <EstadoTurno> obtenerTodosEstadosTurno() { EnlaceDatos enlace = new EnlaceDatos(); SqlDataReader drEstados = enlace.getAllEstadosTurno(); if (drEstados.HasRows) { List <EstadoTurno> lsEstados = new List <EstadoTurno>(); while (drEstados.Read()) { EstadoTurno estados = new EstadoTurno(); estados.IdEstado = Convert.ToInt32(drEstados[0].ToString()); estados.Nombre = drEstados.GetString(1); lsEstados.Add(estados); } return(lsEstados); } return(null); }
public void Start() { // FIX Para testeo actualCD = Random.Range(0, 2.5f); // Obtener el panel aliados gridPanelAliados = GameObject.Find("GridBarAliados"); // Crear Panel CrearPanelAliado(); // Resetear Selector selector.SetActive(false); // Encontrar el SFreya sFreya = GameObject.Find("SFreya").GetComponent <SFreya>(); // Inicializar el estado del turno estadoTurno = EstadoTurno.Procesando; // Obtener la posicion inicial posicionInicial = transform.position; }
void Update() { if (estadoTurno.Equals(EstadoTurno.MUERTO) && fade <= 0f) { Destroy(this.gameObject); } if (enemigo.vidaActual <= 0 && !estadoTurno.Equals(EstadoTurno.MUERTO)) { estadoTurno = EstadoTurno.MUERTO; //Quitar de la lista de enemigos sistemaTurnos.ComprobarEstadoBatalla(); } switch (estadoTurno) { case EstadoTurno.MITURNO: JugarTurno(); break; case EstadoTurno.ACCION: StartCoroutine(RealizarAccion()); estadoTurno = EstadoTurno.ESPERANDO; break; case EstadoTurno.ESPERANDO: //UpdateMeToca(); estadoTurno = EstadoTurno.ESPERANDO; break; case EstadoTurno.MUERTO: material.SetFloat("_Fade", fade); fade -= Time.deltaTime; break; } }
public Turno obtenerTurnoPorId(int idTurno) { EnlaceDatos enlace = new EnlaceDatos(); ///// Acá corregir. El turno conoce al paciente SqlDataReader drTurno = enlace.getTurnoPorId(idTurno); SqlDataReader drPaciente = enlace.getPacientePorTurno(idTurno); if (drTurno.HasRows && drPaciente.HasRows) { drTurno.Read(); Turno turno = new Turno(); turno.IdTurno = Convert.ToInt32(drTurno[0].ToString()); turno.FechaTurno = drTurno.GetDateTime(1); turno.HoraInicio = Convert.ToDateTime(drTurno.GetDateTime(2).ToShortTimeString()); turno.HoraFin = drTurno.GetDateTime(3); turno.Comentario = drTurno.GetString(4); Profesional profesional = new Profesional(); profesional.Idprofesional = Convert.ToInt32(drTurno[5].ToString()); profesional.Apellido = drTurno.GetString(6); profesional.Nombre = drTurno.GetString(7); EstadoTurno estado = new EstadoTurno(); estado.IdEstado = Convert.ToInt32(drTurno[8].ToString()); estado.Nombre = drTurno.GetString(9); drPaciente.Read(); Paciente paciente = new Paciente(); paciente.IdPaciente = Convert.ToInt32(drPaciente[0].ToString()); paciente.Apellido = drPaciente.GetString(1); paciente.Nombre = drPaciente.GetString(2); turno.EstadoTurno = estado; turno.Profesional = profesional; turno.Paciente = paciente; SqlDataReader drPracticas = enlace.getPracticasPorTurno(turno.IdTurno); { if (drPracticas.HasRows) { List <Practica> practicas = new List <Practica>(); while (drPracticas.Read()) { Practica practica = new Practica(); practica.IdPractica = Convert.ToInt32(drPracticas[0].ToString()); practica.Nombre = drPracticas.GetString(1); practica.Duracion = Convert.ToInt32(drPracticas[2].ToString()); practicas.Add(practica); } turno.Practicas = practicas; } } return(turno); } return(null); }
public void MeToca() { estadoTurno = EstadoTurno.MITURNO; }
public void Update() { switch (estadoTurno) { case EstadoTurno.Procesando: ActualizarProgressBar(); break; case EstadoTurno.EscogerAccion: ElegirAccion(); estadoTurno = EstadoTurno.Esperando; break; case EstadoTurno.Esperando: // TODO Estado idle break; case EstadoTurno.Accion: if (enemigo.actualHP > 0) { StartCoroutine(TiempoDeAccion()); } else { estadoTurno = EstadoTurno.Muerte; } break; case EstadoTurno.Muerte: if (!estadoSalud) { return; } else { // Cambiar tag this.gameObject.tag = "EnemigoMuerto"; // No atacable por el enemigo sFreya.enemigos.Remove(this.gameObject); // Desactivar el selector selector.SetActive(false); // Quitar procesos del proximo turno if (sFreya.enemigos.Count > 0) { for (int n = 0; n < sFreya.proxTurno.Count; n++) { if (sFreya.proxTurno[n].prefabEnemigo == this.gameObject) { sFreya.proxTurno.Remove(sFreya.proxTurno[n]); } if (sFreya.proxTurno[n].objetivoEnemigo == this.gameObject) { sFreya.proxTurno[n].objetivoEnemigo = sFreya.enemigos[Random.Range(0, sFreya.enemigos.Count)]; } } } // Cambiar color / Animacion this.gameObject.GetComponent <MeshRenderer>().material.color = new Color32(105, 105, 105, 255); // Activar estado de salud estadoSalud = false; // Reseteo de botones sFreya.CrearBtnEnemigos(); // Comprobar estado sFreya.estadoBatalla = Freya.ComprobarVida; } break; } }
public IEnumerator Accion(GameObject objetivo) { if (accionComenzada) { yield break; } //Comenzamos la accion accionComenzada = true; estadoTurno = EstadoTurno.ACCION; if (ataque.ataque.rango.Equals(AtaqueBase.Rango.CORTO)) { //Si el ataca es de corto rango se mueve hasta el objetivo //Mover enemigo cerca del personaje a atacar //Vector3 posicionPersonaje = new Vector3(objetivo.transform.position.x - 15f, objetivo.transform.position.y, objetivo.transform.position.z); Vector3 posicionPersonaje = new Vector3(transform.position.x + 3f, transform.position.y, transform.position.z); while (MoverHaciaPosicion(this.gameObject, posicionPersonaje, velAnimacion)) { yield return(null); } //Volver a la posicion original while (MoverHaciaPosicion(this.gameObject, posicionInicial, velAnimacion)) { yield return(null); } if (ataque.ataque.prefab != null) { GameObject projectile = Instantiate(ataque.ataque.prefab, ataque.objetivoGameObj.transform) as GameObject; projectile.transform.SetParent(ataque.objetivoGameObj.transform.parent); projectile.transform.localScale = ataque.ataque.prefab.transform.localScale; yield return(new WaitForSeconds(0.5f)); Destroy(projectile); } } else if (ataque.ataque.rango.Equals(AtaqueBase.Rango.LARGO)) { if (ataque.ataque.prefab != null) { if (ataque.ataque.seMueve) { //lanzar prefab GameObject projectile = Instantiate(ataque.ataque.prefab, ataque.atacanteGameObj.transform) as GameObject; projectile.transform.right = (objetivo.transform.position - projectile.transform.position); while (MoverHaciaPosicion(projectile, objetivo.transform.position, 50f)) { yield return(null); } Destroy(projectile); } else { Vector3 posicionPersonaje = new Vector3(transform.position.x + 3f, transform.position.y, transform.position.z); while (MoverHaciaPosicion(this.gameObject, posicionPersonaje, velAnimacion)) { yield return(null); } //Volver a la posicion original while (MoverHaciaPosicion(this.gameObject, posicionInicial, velAnimacion)) { yield return(null); } GameObject projectile = Instantiate(ataque.ataque.prefab, ataque.objetivoGameObj.transform) as GameObject; Destroy(projectile, 1.5f); } } } //Hacer daño sistemaTurnos.sistemaDMG.HacerDMG(ataque); //Esperar yield return(new WaitForSeconds(1.5f)); //Eliminar accion de la lista de acciones sistemaTurnos.listaAcciones.RemoveAt(0); accionComenzada = false; //Reset sistemaTurnos -> Espera AcabarTurno(); }
public CambioEstadoTurno(EstadoTurno currentState, EventoTurno eventoTurno) { Estado = currentState; Evento = eventoTurno; }
public static bool PuedeAplicar(EstadoTurno estado, EventoTurno eventoTurno) { var transicion = new CambioEstadoTurno(estado, eventoTurno); return Transiciones.ContainsKey(transicion); }