-
- using System.Text.Json.Serialization;
-
- /// <summary>
- /// 组合图块数据
- /// </summary>
- public class TileCombinationInfo : IClone<TileCombinationInfo>
- {
- /// <summary>
- /// 组合唯一Id
- /// </summary>
- [JsonInclude]
- public string Id;
- /// <summary>
- /// 组合名称
- /// </summary>
- [JsonInclude]
- public string Name;
- /// <summary>
- /// 组合图块数据, 在纹理中的坐标, 单位: 像素
- /// </summary>
- [JsonInclude]
- public SerializeVector2[] Cells;
- /// <summary>
- /// 组合图块数据, 显示位置, 单位: 像素
- /// </summary>
- [JsonInclude]
- public SerializeVector2[] Positions;
-
- public TileCombinationInfo Clone()
- {
- var combinationInfo = new TileCombinationInfo();
- combinationInfo.Id = Id;
- combinationInfo.Name = Name;
- if (Cells != null)
- {
- combinationInfo.Cells = new SerializeVector2[Cells.Length];
- for (int i = 0; i < Cells.Length; i++)
- {
- combinationInfo.Cells[i] = Cells[i].Clone();
- }
- }
-
- if (Positions != null)
- {
- combinationInfo.Positions = new SerializeVector2[Positions.Length];
- for (int i = 0; i < Positions.Length; i++)
- {
- combinationInfo.Positions[i] = Positions[i].Clone();
- }
- }
- return combinationInfo;
- }
- }