Unity游戏道具排序方法

一、IComparable接口

继承这个接口必须实现CompareTo方法,这个方法官方文档给出的提示是返回值为Int类型-1,0,1
-1是this小于,0是this等于,1是this大于。

二、游戏道具排序思路

  1. 自己实现的逻辑(菜鸟思路),今天也是有这个需求然后想了一下,如果自己写的话可以考虑使用依赖倒置原则进行排序,也就是说可以声明一个父类,然后子类继承父类。弄一个父类数组引用,指向子类对象通过FindObjectsOfType这个方法查找,通过Sort方法进行排序,排序成功之后移动数组对应索引。

三、使用IComparable接口实现

有了一个大概思路之后想自己写来着但是写起来感觉挺麻烦的,就在百度上搜索了一下然后看见了这个接口感觉挺好的。

  1. 还是依赖倒置原则,声明手雷类,不同种类手雷继承手雷类
  2. 可以让手雷类实现IComparable,因为手雷是父类如果父类实现了这个接口相当于子类也实现了,那么子类也就拥有了CompareTo方法。
    在这里插入图片描述
  3. 通过FindObjectsOfType<手雷>(),拿到不同类型的手雷对象。通过Array.Sort方法进行排序就行了。
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值