private static bool CheckColor(GameHexagon hex, OpType op) { if (op == OpType.Pass) { return(false); } else if (op == OpType.Both) { return(true); } else { if (hex.OpType != op) { CmdResponse.Alert(null, string.Format("<color=yellow>必须砸{0}颜色块!</color>", UIConstants.s_ops[op])); } return(hex.OpType == op); } }
public void StartHammer(int x, int y) { if (m_curTargetHex != null) { return; } GameHexagon theHex = HexManager.GetHexagon(x, y) as GameHexagon; // 在强制模式下,必须砸同一个格子 if (GameConf.ForceKill && m_singleTargetHex != null && m_singleTargetHex != theHex) { CmdResponse.Alert(CurrentPlayer, "必须砸同一个格子!"); return; } if (theHex != null && theHex != m_mainHex && CheckColor(theHex, OpType)) { m_curTargetHex = theHex; m_singleTargetHex = theHex; // 重置力度 } }