UniVue更新日志:SuperGrid组件的使用

 github仓库


稳定版本仓库:https://github.com/Avalon712/UniVue

开发版本仓库:https://github.com/Avalon712/UniVue-Develop

UniVue扩展框架-UniVue源生成器仓库:https://github.com/Avalon712/UniVue-SourceGenerator

SuperGrid组件的实现原理与使用 

SuperGrid组件是对LoopGrid组件的功能增强,可以实现背包物品的拖拽、放置,同时通过将多个SuperGrid组件加入一个GridGroup组可以实现跨背包物品的拖拽放置。

SuperGrid组件的原理:我们从拖拽放置的本质出发,无非就是想要将数据能够通过鼠标的方式进行操作,因此SuperGrid组件的底层实现原理其实就对数据指向操作,而你看到的只是数据在视图层面上的表现,每次对数据执行下面几个操作:

  • 两个物品的交换,本质就是对两个视图绑定的模型数据进行一次交换操作然后执行一次视图刷新,从结果上来看你看见的就是两个物品真实的进行了交换;
  • 将一个物品放置到一个空位,本质上讲一个数据在拖拽的物品的身上进行解绑,然后绑定到空位的那个视图上,再进行一次刷新;

说明:目前这个SuperGrid组件的功能只能算一个预览版,正式版本会在UniVue的下一个版本发布,今天UniVue第一个版本的功能已经做完,将会正式发布第一个版本。下一个版本将会提高更灵活的拖拽放置功能,比如一些物品合成类的功能时,对应的物品放置的位置可能就是不是一个格子视图,为此在下个版本会提高功能更强大的功能。

上面的两个格子视图通过加入同一个GridGroup可以实现两个物品的跨背包拖拽放置。如果你需要实现类似背包整理的功能,只需要调用一次Refresh(true),指定为强制刷新即可,这些功能都是与LoopGrid组件一致的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Avalon712

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值