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; } PerfilDeteccion perfil = GetPerfilDeteccion(info.GetColision()); if (perfil == null) { return; } switch (perfil.GetObjetivo()) { case DeteccionObjetivo.ALIADO: if (entidad.GetTipo() == EntidadTipo.ALIADO) { SolicitarEvento(new DeteccionInformacion( perfil, info.GetColisionImpacto(), GetEntidad(), entidad )); } break; case DeteccionObjetivo.ENEMIGO: if (entidad.GetTipo() == EntidadTipo.ENEMIGO) { SolicitarEvento(new DeteccionInformacion( perfil, info.GetColisionImpacto(), GetEntidad(), entidad )); } break; case DeteccionObjetivo.AMBOS: if (entidad.GetTipo() != EntidadTipo.DESCONOCIDO) { SolicitarEvento(new DeteccionInformacion( perfil, info.GetColisionImpacto(), GetEntidad(), entidad )); } break; case DeteccionObjetivo.TODOS: SolicitarEvento(new DeteccionInformacion( perfil, info.GetColisionImpacto(), GetEntidad(), entidad )); break; } }
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; } PerfilAtaque perfil = GetPerfil(info.GetColision()); if (perfil == null) { return; } switch (perfil.GetObjetivo()) { case AtaqueObjetivo.ALIADO: if (entidad.GetTipo() == EntidadTipo.ALIADO) { SolicitarEvento(new AtaqueInformacion( perfil, GetAtaqueBasico(perfil), GetEntidad(), entidad )); vitalidad.AddDaño(GetAtaqueBasico(perfil), entidad, info.GetColisionImpacto()); } break; case AtaqueObjetivo.ENEMIGO: if (entidad.GetTipo() == EntidadTipo.ENEMIGO) { SolicitarEvento(new AtaqueInformacion( perfil, GetAtaqueBasico(perfil), GetEntidad(), entidad )); vitalidad.AddDaño(GetAtaqueBasico(perfil), entidad, info.GetColisionImpacto()); } break; case AtaqueObjetivo.AMBOS: if (entidad.GetTipo() != EntidadTipo.DESCONOCIDO) { SolicitarEvento(new AtaqueInformacion( perfil, GetAtaqueBasico(perfil), GetEntidad(), entidad )); vitalidad.AddDaño(GetAtaqueBasico(perfil), entidad, info.GetColisionImpacto()); } break; } }