public void EventoVitalidad(VitalidadInformacion info, ModuloVitalidad vitalidad) { if (info.GetTipo() == VitalidadEventoTipo.EFECTO) { Debug.Log(info.GetEfecto() + " " + vitalidad.GetPerfilVitalidad().GetTipo()); } }
private void EventoColision(ColisionInformacion info) { if (!IsEnable()) { return; } Entidad entidad = info.GetEntidadImpacto(); if (entidad == null || info.GetColisionEstado() != ColisionEstado.ENTER) { return; } ModuloVitalidad vitalidad = entidad.GetModuloVitalidad(); if (vitalidad == null) { return; } if (!vitalidad.GetPerfilVitalidad().IsColision(info.GetColisionImpacto())) { return; } PerfilAtaque perfil = GetPerfil(info.GetColision()); if (perfil == null) { return; } switch (GetObjetivo()) { case AtaqueObjetivo.ALIADO: if (entidad.GetTipo() == EntidadTipo.ALIADO) { SolicitarEvento(new AtaqueInformacion( perfil, GetAtaque(perfil), GetEntidad(), entidad )); vitalidad.AddDanio(GetAtaque(perfil), entidad, info.GetColisionImpacto()); } break; case AtaqueObjetivo.ENEMIGO: if (entidad.GetTipo() == EntidadTipo.ENEMIGO) { SolicitarEvento(new AtaqueInformacion( perfil, GetAtaque(perfil), GetEntidad(), entidad )); vitalidad.AddDanio(GetAtaque(perfil), entidad, info.GetColisionImpacto()); } break; case AtaqueObjetivo.AMBOS: if (entidad.GetTipo() == EntidadTipo.ALIADO || entidad.GetTipo() == EntidadTipo.ENEMIGO) { SolicitarEvento(new AtaqueInformacion( perfil, GetAtaque(perfil), GetEntidad(), entidad )); vitalidad.AddDanio(GetAtaque(perfil), entidad, info.GetColisionImpacto()); } break; case AtaqueObjetivo.OBJETO: if (entidad.GetTipo() == EntidadTipo.OBJETO) { SolicitarEvento(new AtaqueInformacion( perfil, GetAtaque(perfil), GetEntidad(), entidad )); vitalidad.AddDanio(GetAtaque(perfil), entidad, info.GetColisionImpacto()); } break; case AtaqueObjetivo.TODOS: if (entidad.GetTipo() != EntidadTipo.DESCONOCIDO) { SolicitarEvento(new AtaqueInformacion( perfil, GetAtaque(perfil), GetEntidad(), entidad )); vitalidad.AddDanio(GetAtaque(perfil), entidad, info.GetColisionImpacto()); } break; } }