public DeteccionInformacion(PerfilDeteccion perfil, Colision colisiondetectada, Entidad entidad, Entidad entidaddetectada) { this.perfil = perfil; this.colisiondetectada = colisiondetectada; this.entidad = entidad; this.entidaddetectada = entidaddetectada; }
public PerfilDeteccion GetPerfilDeteccion(Colision colision) { if (perfildeteccion.IsColision(colision)) { return(perfildeteccion); } return(null); }
public ColisionInformacion(GameObject objeto, Entidad entidad, Colision colision1, Colision colision2, ColisionTipo tipo, ColisionEstado estado) { this.entidad = entidad; this.colision1 = colision1; this.colision2 = colision2; this.objeto = objeto; this.estado = estado; this.tipo = tipo; }
public bool IsColision(Colision colision) { for (int i = 0; i < colisiones.Length; i++) { if (colision == colisiones[i]) { return(true); } } return(false); }
public PerfilAtaque GetPerfil(Colision colision) { for (int i = 0; i < perfiles.Length; i++) { if (perfiles[i].IsColision(colision)) { return(perfiles[i]); } } return(null); }
private void OnTriggerEnter(Collider otro) { Rigidbody rigidbody = otro.attachedRigidbody; GameObject objeto = null; Entidad entidad = null; Colision colision = null; if (rigidbody != null) { objeto = rigidbody.gameObject; entidad = objeto.GetComponent <Entidad>(); colision = otro.GetComponent <Colision>(); } else { objeto = otro.gameObject; entidad = objeto.GetComponent <Entidad>(); colision = otro.gameObject.GetComponent <Colision>(); } ActivarEvento(new ColisionInformacion(objeto, entidad, this, colision, ColisionTipo.TRIGGER, ColisionEstado.ENTER)); }
private void OnCollisionExit(Collision otro) { Rigidbody rigidbody = otro.collider.attachedRigidbody; GameObject objeto = null; Entidad entidad = null; Colision colision = null; if (rigidbody != null) { objeto = rigidbody.gameObject; entidad = objeto.GetComponent <Entidad>(); colision = otro.collider.GetComponent <Colision>(); } else { objeto = otro.gameObject; entidad = objeto.GetComponent <Entidad>(); colision = otro.collider.GetComponent <Colision>(); } ActivarEvento(new ColisionInformacion(objeto, entidad, this, colision, ColisionTipo.FISICA, ColisionEstado.EXIT)); }
public void AddDaño(float ataquebasico, Entidad entidad, Colision colision) { if (!IsEnable()) { return; } if (perfilvitalidad.IsColision(colision)) { ; float daño = ataquebasico; daño -= daño * perfilvitalidad.GetReduccionDaño(); if (perfilvitalidad.GetTipo() == VitalidadTipo.CARGAS) { daño = perfilvitalidad.GetCargas(); } SolicitarVitalidadEvento(new VitalidadInformacion(perfilvitalidad, daño, entidad, VitalidadEventoTipo.PREDAÑO)); if (IsEnable()) { perfilvitalidad.ModVida(-daño); } else { daño = 0; } SolicitarVitalidadEvento(new VitalidadInformacion(perfilvitalidad, daño, entidad, VitalidadEventoTipo.DAÑO)); } }