/// <summary> /// 将HexCell实例 转化成用来序列化的 HexCellSerialization实例 /// </summary> /// <param name="cells">HexCell实例数组</param> /// <returns>HexCellSerialization实例数组</returns> public static HexCellSerialization[] ShiftCells(HexCell[,] cells) { HexCellSerialization[] result = new HexCellSerialization[cells.GetLength(0) * cells.GetLength(1)]; int i = 0; for (int z = 0; z < cells.GetLength(1); z++) { for (int x = 0; x < cells.GetLength(0); x++) { if (cells[x, z] != null) { result[i] = new HexCellSerialization(cells[x, z]); i++; } } } return(result); }
/// <summary> /// 用序列化地图的中的单元格覆盖游戏场景中的地图单元格 /// </summary> /// <param name="hexCell">游戏场景中的地图单元格</param> /// <param name="hexCellSerialization">序列化地图的单元格</param> private static void CoverageHexMap(HexCell hexCell, HexCellSerialization serializationCell) { hexCell.TerrainTypeIndex = (Terrain)serializationCell.TerrainTypeIndex; }