#ifndef __GRP_I_RESOURCE_H__ #define __GRP_I_RESOURCE_H__ namespace grp { enum ResourceType { RES_TYPE_MODEL = 0, RES_TYPE_PART, RES_TYPE_SKELETON, RES_TYPE_ANIMATION, RES_TYPE_SKINNED_MESH, RES_TYPE_RIGID_MESH, RES_TYPE_MATERIAL, RES_TYPE_COUNT, RES_TYPE_USER0 = 100, //for user resource RES_TYPE_USER1, RES_TYPE_USER2, RES_TYPE_USER3, RES_TYPE_USER4 }; enum ResourceState { RES_STATE_LOADING = 0, RES_STATE_COMPLETE, RES_STATE_BROKEN }; class IResource { public: virtual ResourceType getResourceType() const = 0; virtual const Char* getResourceUrl() const = 0; virtual ResourceState getResourceState() const = 0; protected: virtual ~IResource(){} }; } #endif