public void DefineParaEstadoPerseguicao(ObjectoDeJogo heroi) { timerEmEstado = (int)(timerEstado * 1.5f); Velocidade = velociadePatrulha; estadoActual = EstadoPatrulha.Perseguicao; posicaoAlvo = heroi.Posicao; tintImage = corTingePerseguicao; }
private void DetectaInimigo(ObjectoDeJogo heroi) { Vector2 paraHeroi = heroi.Posicao - Posicao; if (paraHeroi.Length() < raioParaPerseguir) { DefineParaEstadoPerseguicao(heroi); } }
public void UpdatePatrulhaEstado(ObjectoDeJogo hero, float distanciaAlvo) { if (timerEmEstado < 0 || distanciaAlvo < raioPersecpcao) { switch (tipoPatrulha) { case TipoPatrulha.Aleatoria: ProximoAlvo(); break; case TipoPatrulha.MovHorizontal: GeraInimigo_LefRight(); break; case TipoPatrulha.MovVertical: GeraInimigo_UpDown(); break; } } }