注意:这节课所弄的引用计数在
public ResourceObj LoadResource(string path, ResourceObj resObj)
和 public bool ReleaseResource(ResourceObj resObj, bool destroyObj = false)
都会进行对引用次数的更改。
而这节课添加的4个方法,可以说是上面所说2个方法的一部分代码,仅仅只是为了提供给ObjectManager从对象池获取资源时添加引用计数,回收到对象池时减少引用次数的目的,如果抛开对象池这个东西,一直是用上面2个方法进行创建和回收的话,引用次数是按照正常思维那样子,谁使用了就会加1,谁不用就会-1.
我发现ObjectManager的对象池里面的每个对象都是参照着一个ResourceItem制造的,也就是ResourceObj的crc是一样的,其他都不一样,在第一次创建物体时,会去加载出这个ResourceItem并且存入ResourceManager的缓存池,而且会对resourceItem的m_Clear进行赋值为ResourceObj的m_bClear,那么注意是第一次才会进行赋值,第二次就会从缓存池取item,直接设置好resObj的item后会返回了,也就是说,这个参照物ResourceItem的m_Clear确定是在第一次创建的时候确定的,这种确定方法,确定OK么。。