Files
5.24BuYu/Assets/MyGame/aa/UI/Game/ChineseChess/ChessGame/ChessMoveData.cs
T
2026-09-13 01:40:32 +08:00

57 lines
1.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
/// <summary>
/// 一步走棋数据(本地记录与网络帧同步共用)
/// </summary>
[Serializable]
public class ChessMoveData
{
/// <summary>半回合序号(第几步,从 0 开始,用于帧顺序校验与去重)</summary>
public int seq;
public int fromX;
public int fromY;
public int toX;
public int toY;
}
/// <summary>
/// 象棋网络帧同步数据(走 SyncGameData 通道,后端只透传不解析)
/// 注意:只用于走棋同步;悔棋/认输/求和走之前写好的 GameOperation 通道
/// </summary>
[Serializable]
public class ChessNetData
{
/// <summary>消息类型:1=走棋</summary>
public int msgType;
/// <summary>发送者 userId(接收方用来过滤自己的回声)</summary>
public string userId;
/// <summary>走棋数据(msgType=1 时有效)</summary>
public ChessMoveData move;
}
/// <summary>
/// 走棋事件参数(ChineseChessMainPanel / UIChessBoard 订阅 ChessGameManager 事件用)
/// </summary>
public class ChessMoveEventArgs
{
/// <summary>这一步的完整数据(含 seq,可直接序列化发给对方)</summary>
public ChessMoveData move;
/// <summary>走子方棋子 id</summary>
public int movePieceId;
/// <summary>被吃棋子 id(没吃子为 -1)</summary>
public int capturedPieceId = -1;
/// <summary>是否本地玩家走的(false = 网络同步过来)</summary>
public bool isLocal;
/// <summary>这步走完后对方是否被将军</summary>
public bool isCheck;
/// <summary>走子方</summary>
public ChessCamp moverCamp;
}