这里是判断颜色的逻辑,是通过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]]