// Start is called before the first frame update
    void Start()
    {
        rigid  = GetComponent <Rigidbody>();
        target = GameObject.FindGameObjectWithTag("Player").transform;


        navMeshAgent = GetComponent <NavMeshAgent>();
        fsm          = new FSM(gameObject, this);
        Enemigo1PerseguirEstado  estadoPerseguir   = new Enemigo1PerseguirEstado(this);
        Enemigo1IdleEstado       estadoIdle        = new Enemigo1IdleEstado(this);
        EnemigoDesvanecidoEstado estadoDesvanecido = new EnemigoDesvanecidoEstado(this);
        //este siempre será blip state
        EnemigoAturdidoEstado estadoAturdido = new EnemigoAturdidoEstado(this);

        fsm.AddState(EstadosEnemigo1.Perseguir, estadoPerseguir);
        fsm.AddState(EstadosEnemigo1.Idle, estadoIdle);
        fsm.AddState(EstadosEnemigo.Desvanecido, estadoDesvanecido);
        fsm.AddState(EstadosEnemigo.Aturdido, estadoAturdido);

        Inicializar();
    }
    // Start is called before the first frame update
    void Start()
    {
        rigid  = GetComponent <Rigidbody>();
        target = GameObject.FindGameObjectWithTag("Player").transform;


        navMeshAgent = GetComponent <NavMeshAgent>();
        fsm          = new FSM(gameObject, this);

        RanaEstadoSalto estadoSalto = new RanaEstadoSalto(this);
        IdleRana        estadoIdle  = new IdleRana(this);

        EnemigoDesvanecidoEstado estadoDesvanecido = new EnemigoDesvanecidoEstado(this);
        EnemigoAturdidoEstado    estadoAturdido    = new EnemigoAturdidoEstado(this);

        fsm.AddState(EstadosRana.Salto, estadoSalto);
        fsm.AddState(EstadosRana.IdleRana, estadoIdle);
        fsm.AddState(EstadosEnemigo.Aturdido, estadoAturdido);
        fsm.AddState(EstadosEnemigo.Desvanecido, estadoDesvanecido);
        Inicializar();
    }