public void AddLayout(int[] values, tile_pos_type type) { tile_type_layout layout = this.layouts[this.count++]; layout.type = type; for (int i = 0; i < 9; ++i) { layout.E[i] = values[i]; } }
public tile_pos_type GetTileType(int[] spots) { tile_pos_type result = tile_pos_type.TOP_LEFT_TILE; Assert.IsTrue(count == 10); for (int i = 0; i < this.count; ++i) { tile_type_layout layout = this.layouts[i]; if (IsEqual_PosTile(0, 1, spots, layout) && IsEqual_PosTile(2, 1, spots, layout) && IsEqual_PosTile(1, 0, spots, layout) && IsEqual_PosTile(1, 2, spots, layout)) { result = layout.type; if (result == tile_pos_type.CENTER_TILE) { if (spots[0] == 0) { result = tile_pos_type.CENTER_TOP_LEFT_TILE; } else if (spots[2] == 0) { result = tile_pos_type.CENTER_TOP_RIGHT_TILE; } else if (spots[6] == 0) { result = tile_pos_type.CENTER_BOTTOM_LEFT_TILE; } else if (spots[8] == 0) { result = tile_pos_type.CENTER_BOTTOM_RIGHT_TILE; } } break; } } //Assert(Result != NULL_TILE); return(result); }