42 lines
1.4 KiB
C#
42 lines
1.4 KiB
C#
using UnityEngine;
|
||
|
||
/// <summary>
|
||
/// 棋子数据(普通类:纯数据,不包含任何表现层内容)
|
||
/// </summary>
|
||
public class ChessPieceData
|
||
{
|
||
/// <summary>棋子唯一编号(同一次对局内唯一,用于 UI 映射与网络同步)</summary>
|
||
public int id;
|
||
|
||
/// <summary>棋子类型</summary>
|
||
public ChessPieceType pieceType;
|
||
|
||
/// <summary>所属阵营</summary>
|
||
public ChessCamp camp;
|
||
|
||
/// <summary>逻辑坐标(x 0~8,y 0~9,红方在下方)</summary>
|
||
public Vector2Int pos;
|
||
|
||
/// <summary>是否存活(被吃后为 false)</summary>
|
||
public bool isAlive = true;
|
||
|
||
/// <summary>棋子显示名(红:帅仕相马车炮兵 / 黑:将士象马车炮卒)</summary>
|
||
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 "";
|
||
}
|
||
}
|
||
}
|
||
}
|