代码改变世界

大世界流程1

2023-07-04 12:11  kk20161206  阅读(9)  评论(0编辑  收藏  举报

组件的根据输入的源坐标,半径,Layer名,加载Block函数。

这个layer是alwaysLoad,则加载;

是visible,则加载,可见;

是load,则加载。

 

根据输入的源坐标,半径,得到相交的block,和已经加载的block,去重后,一起,如果超过Block的限制数量,则按照优先级排序,卸载优先级低的;如果没有超过数量,则不卸载。卸载不需要的后再加载需要的。

怎么判断源的位置,半径构成的圆是否和block的boundingbox相交。不同策略。help类里的函数    完成
block加载的优先级计算。每个layer(物件大小)的权重  占百分之七十,距离  占百分之三十。help类    完成
block加载的优先级排序。

 

BlockManager,需要加载的,已经加载了;不用管;

需要加载还没加载;去加载;

不需要加载的,已经加载了,需要卸载。

加载完以后,需要可见的,进行可见设置。


Block资源和actor之间的关系。
一个Block资源对应多个创建的Actor。
加载Block后,判断这个Block的每个物体是actor还是普通的资源,如果是actor则根据这个actor的模板生成actor;普通资源则生成对应类型的Actor。卸载Block时,把对应的Actor也销毁。缓存?缓存策略

异步加载机制,回调函数。help类,加载函数
加载后生成Actor。help类,生成Actor函数
区分是普通资源还是Actor;help类,区分Actor类型函数
普通资源则生成对应类型的Actor;
Actor则生成actor。
卸载功能。卸载Block,回收block里的Actor到池子。help类,卸载资源函数。actorCacheManager缓存Actor的池子管理。
Actor对象池功能。


Block里有个ActorManager,负责Actor的生成和销毁,Actor的显示和隐藏。是否要缓存?actorManager包含ActorCacheManager

加载Block,加载每个block资源并生成Actor;卸载Block,卸载每个Block资源并销毁或回收Block的Actor。