宝开框架研究——资源管理

  宝开框架通过PakInterface类管理和读取资源,该类继承自PakInterfaceBase。可以从PakInterfaceBase类派生自己的资源管理类。

  PakInterface类类似单例模式。但不是严格的单例模式,还是可以自己new一个,但最好不要这样做。因为这个框架比较早了,估计那时候还没有这么相对成熟的设计模式可用。

  PakInterface类可以直接读取文件也可以先加入资源包再从资源包读取。使用资源包先调用函数PakInterface::AddPakFile()添加资源包,然后就可以像读取普通文件一样读取包内的文件。

  PakInterface类有两个重要变量mPakCollectionList 和mPakRecordMap 。mPakCollectionList 存储资源包在内存里的地址,是一个链表。mPakRecordMap 存储资源包内的文件数据,包括文件名,地址,大小等信息。

  使用PakInterface::AddPakFile()导入资源包后,会直接将整个包读取到内存,然后会一直贮存在内存当中,每次需要读资源包中文件的时候直接从内存中读取,不需要再重新从硬盘里读取。

  在项目文件里好像没有看到有释放资源包内存的代码,不知道是我没找到还是忘写了(商业公司应该不会吧)。

  资源包没有进行压缩,仅仅是简单的把各个文件间连接起来。源码里带了打包工具PopPak.exe。

  PakInterface类没有实现添加资源目录的功能,就是添加目录后,直接输入文件名,不需要带路径。这个功能还是挺方便的,编写资源目录脚本之类时挺方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值