public void update()
    {
        Vector3f direction = Transform.getCamera().getPos().sub(transform.getTranslation());
        float distance = direction.length();
        Vector3f orientation = direction.div(distance);
        transform.getTranslation().setY(0.0f);
        faceCam(orientation);
        switch (state)
        {
            case STATE_IDLE: IDLE(direction, distance); break;
            case STATE_CHASE: CHASE(direction, distance); break;
            case STATE_ATTACK: ATTACK(direction, distance); break;
            case STATE_DYING: DYING(direction, distance); break;
            case STATE_DEAD: DEAD(direction, distance); break;
        }

    }