protected override void Awake() { base.Awake(); temporizador = new Temporizador(delay); perfil = GetComponent <PerfilAtaque>(); estado = AtaqueEstado.DELAY; }
public AtaqueInformacion(PerfilAtaque perfil, float ataquebasico, Entidad entidad, Entidad entidadatacada) { this.perfil = perfil; this.ataquebasico = ataquebasico; this.entidad = entidad; this.entidadatacada = entidadatacada; }
public float GetAtaque(PerfilAtaque perfil = null) { float a = GetAtaqueBase(); if (perfil != null) { a *= perfil.GetMultiplicador(); } return(a); }
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; } }