using Vector2 = Godot.Vector2; using System; public class VirtualPiece { private Vector2 pos; // 注意这个坐标的非像素坐标而是棋盘坐标 private readonly string name; private bool isSelected; public object data; public event Action OnMove; public event Action OnSelected; public void Move(Vector2 pos) { this.pos = pos; OnMove?.Invoke(pos); } public Vector2 Pos() { return pos; } public void Selected(bool isSelected) { if (this.isSelected != isSelected) { OnSelected?.Invoke(isSelected); this.isSelected = isSelected; } } public bool IsSelected() { return isSelected; } public VirtualPiece(string name = "", Vector2 pos = new Vector2()) { this.name = name; this.pos = pos; } }