CEGUI从硬盘读取文件是通过ResourceProvider接口来完成的,它将具体的文件夹地址和一个字符串形成映射,这样在读取文件的时候就不用再输入长长的地址,而只用输入一个映射名就可以了,该接口最重要的一个方法是
loadRawDataContainer(const string& filename, RawDataContainer& output, const string& resourceGroup)
resourceGroup就是上面提到的地址映射名,RawDataContainer是一个很简单的数据结构,只包含一个char* 和一个size_t。这个方法干的事就是通过映射名找到实际的文件夹地址,然后将里面的名为filename文件读到一个new出来的char数组中,最后把这个数组的地址赋给output。
类图如下
图中的DefualeResourceProvider是能实例化的最低层的类,具备从文件夹读文件的能力。