using UnityEngine; /// /// 棋子数据(普通类:纯数据,不包含任何表现层内容) /// public class ChessPieceData { /// 棋子唯一编号(同一次对局内唯一,用于 UI 映射与网络同步) public int id; /// 棋子类型 public ChessPieceType pieceType; /// 所属阵营 public ChessCamp camp; /// 逻辑坐标(x 0~8,y 0~9,红方在下方) public Vector2Int pos; /// 是否存活(被吃后为 false) public bool isAlive = true; /// 棋子显示名(红:帅仕相马车炮兵 / 黑:将士象马车炮卒) public string displayName { get { switch (pieceType) { case ChessPieceType.Jiang: return camp == ChessCamp.Red ? "帅" : "将"; case ChessPieceType.Shi: return camp == ChessCamp.Red ? "仕" : "士"; case ChessPieceType.Xiang: return camp == ChessCamp.Red ? "相" : "象"; case ChessPieceType.Ma: return "马"; case ChessPieceType.Ju: return "车"; case ChessPieceType.Pao: return "炮"; case ChessPieceType.Bing: return camp == ChessCamp.Red ? "兵" : "卒"; default: return ""; } } } }