Conan建筑实现 —— 结构:

实现  结构:
    数据存储:在规划的时候,说了每个建筑材料要根据旋转等级来确定,实际在建筑单位里到底是什么样的。所以我们需要一个存储建筑材料的建筑单位。

     为了方便获取到实时运算的数据,我们要建立分别根据建筑材料的占用信息做key,建筑材料当做值的列表,来表示当前空间位置被哪个占用;也要建立根据建筑材料的提供的位置当做key,一个建筑材料列表当做值,来表示那些建筑材料给这个连接位置提供了连接位置。

     每个建筑材料里面存储了提供位置处的所有建筑单位,所以这里使用的是当前建筑材料提供的连接位置来做key,建筑单位列表作为value,来用于对应建筑单位对应存储的刷新。这个用完就可以清了。

    来解释一下上面为什么有两个列表有什么用。首先是建筑材料的那个列表,它对应的建筑单位列表是这样的,比如:我们暂定上面是1号位,下面是2号位。建筑材料提供了建筑单位的上面,同时他也给建筑单位上方的那个建筑单位的2号位置提供了连接位置。同理一个点就属于这个点周围八个建筑单位,一个建筑材料要是对一个点提供连接位置,他就会同时存在于这个点的八个建筑单位的提供连接位置的列表中。所以第二个列表也就清楚了。

    建筑材料的位置列表的刷新需要知道提供位置周围的建筑单位。周围有哪些建筑单位这个再做流水线化的时候,程序是没法计算的,需要进行配表。

    基本关键的结构就是这样,这样在进行实时计算的时候就可以直接取数据进行计算。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值