#pragma once

class Asset
{
public:
#ifdef __ANDROID__
    static AAssetManager* m_am;
    AAsset* m_asset = nullptr;
#endif
    static std::vector<std::string> list_files(std::string folder, bool is_asset, const std::string& filter_regex);
    static bool exist(std::string path);
    static bool delete_file(const std::string& path);
    static std::string absolute(const std::string& path);
    static bool is_asset(const std::string& path);
    std::string m_current_path;
    FILE* m_fp = nullptr;
    int m_len = 0;
    uint8_t* m_data = nullptr;
    bool open(const char* path);
    uint8_t* read_all();
    void close();
    ~Asset() { close(); }
};

