这里是判断颜色的逻辑,是通过item物体名字来判断的 用到了元组,可以参考[[csharp中的 Tuple]]
![[Pasted image 20230718140222.png]]
需要注意,这里选择的.net版本,会影响使用的语法形式
![[Pasted image 20230718140527.png]]
然后调用就是四个方向的调用逻辑了
![[Pasted image 20230718140913.png]]
主要区别是在于本体x和y的增减
![[Pasted image 20230718140948.png]]
![[Pasted image 20230718140957.png]]
![[Pasted image 20230718141151.png]]
![[Pasted image 20230718141158.png]]
判定之后,这里就是相同颜色的四个方向的数组数据
![[Pasted image 20230718141222.png]]
然后,判断是否可以消除的业务逻辑,在这里,也是根据数组长度判定 需要注意的是,这里是特殊的消除逻辑,是对应了不同特效的
![[Pasted image 20230718141325.png]]
![[Pasted image 20230718141333.png]]
![[Pasted image 20230718141340.png]]
判定是否同色的相关逻辑,是通过元组的Item1和Item2进行相关操作
![[Pasted image 20230718141809.png]]
这里加上相关的颜色判定系统
![[Pasted image 20230718142027.png]]
这里用数量判断的入口 改布尔为true,触发判定系统逻辑
![[Pasted image 20230718144936.png]]
消除响应系统是这个:
![[Pasted image 20230718150714.png]]
还是跟前面判断的逻辑一致,通过数量长度
![[Pasted image 20230718150831.png]]
符合条件,就布尔设置为true
![[Pasted image 20230718150858.png]]
对应的是这个:
![[Pasted image 20230718150924.png]]
也是一个事件,对应也会触发GameItemView里面的,这个:
![[Pasted image 20230718150954.png]]
消除逻辑系统也加上
![[Pasted image 20230718151131.png]]
运行是可以消除的
![[Pasted image 20230718151226.png]]