数据来源
单机游戏 -> json/XML/二进制文件/ 本地数据
网络游戏 ->服务器/DataBase
List存储
可视范围
履带上的可视范围的起始位置Y
以及可视范围的结束位置为Y + H
获取那些道具应该被显示
假设一个格子大小为80 * 80,90 / 80 = 1,1 * 3 = 3,即显示区域第一个格子序列号为3.
使用可视范围的起始位置Y / 一个格子的高 -> 起始显示的是哪一行 * 一行有多少个格子
= 起始位置显示的索引值
使用可视范围的结束位置Y / 一个格子的高 -> 起始显示的是哪一行 + (一行格子数量 - 1)
= 结束位置显示的索引值
记录当前显示的内容
需要一个容器来记录当前显示着的对象信息,目的是每次改变时能够进行判断。
移除视野的就是不在第三步算出来的索引范围内的格子对象
移除它,如果这个容器中没有第三步算出来的索引值的格子,创建它
Dictionary<int,格子对象>
类设计
BagMgr 获取道具信息
BagItem 背包格子类
BagPanel 背包逻辑