std::string name;
IO::Seekable *io;
Resource::AsyncLoader *loader;
+ bool loaded;
ManagedResource(Resource &);
+
+ void start_loading();
+ void finish_loading();
};
class LoadingThread: public Thread
void terminate();
};
+ typedef std::map<const Resource *, ManagedResource> ResourceMap;
typedef std::list<ManagedResource *> LoadQueue;
LoadingPolicy policy;
bool async_loads;
- std::map<const Resource *, ManagedResource> resources;
- std::list<ManagedResource *> queue;
+ ResourceMap resources;
+ LoadQueue queue;
LoadingThread thread;
public:
void set_async_loads(bool);
void add_resource(Resource &);
+ void *get_data_for_resource(const Resource &);
void set_resource_location(Resource &, DataFile::Collection &, const std::string &);
- void load_resource(const Resource &);
+ void load_resource(Resource &);
+ void resource_used(const Resource &);
void remove_resource(Resource &);
void tick();