public static StructureComplete GetStructure(string name) { StructureElement blocks; StructureElement walls; StructureElement liquids = StructureElement.emptyElement(); StructureElement blockPaint = StructureElement.emptyElement(); StructureElement wallPaint = StructureElement.emptyElement(); switch (name) { case "OlimpusCloud1": blocks = new StructureElement(OlimpusCloud.OlimpusCloud1Blocks, OlimpusCloud.olimpusBlockTypes); walls = new StructureElement(OlimpusCloud.OlimpusCloud1Walls, OlimpusCloud.olimpusWallTypes); return(new StructureComplete(blocks, OlimpusCloud.OlimpusCloud1Slopes, blockPaint, StructureComplete.emptyActuated(), walls, wallPaint, liquids)); case "OlimpusCloud2": blocks = new StructureElement(OlimpusCloud.OlimpusCloud2Blocks, OlimpusCloud.olimpusBlockTypes); walls = new StructureElement(OlimpusCloud.OlimpusCloud2Walls, OlimpusCloud.olimpusWallTypes); wallPaint = new StructureElement(OlimpusCloud.OlimpusCoud2wallPaint, OlimpusCloud.olimpusPaintTypes); return(new StructureComplete(blocks, OlimpusCloud.OlimpusCloud2Slopes, blockPaint, StructureComplete.BoolsFromInts(OlimpusCloud.OlimpusCloud2Actuate), walls, wallPaint, liquids)); case "OlimpusLake": blocks = new StructureElement(OlimpusCloud.OlimpusLakeBlocks, OlimpusCloud.olimpusBlockTypes); walls = new StructureElement(OlimpusCloud.OlimpusLakeWalls, OlimpusCloud.olimpusWallTypes); liquids = new StructureElement(OlimpusCloud.OlimpusLakeLiquids, OlimpusCloud.olimpusliquidTypes); blockPaint = new StructureElement(OlimpusCloud.OlimpusLakePaints, OlimpusCloud.olimpusPaintTypes); return(new StructureComplete(blocks, OlimpusCloud.OlimpusLakeSlopes, blockPaint, StructureComplete.BoolsFromInts(OlimpusCloud.OlimpusLakeActuate), walls, wallPaint, liquids, OlimpusCloud.olimpusPlatforms)); default: return(null); } }
public StructureComplete(StructureElement block, int[,] slopes, StructureElement blockCol, bool[,] actuated, StructureElement wall, StructureElement wallCol, StructureElement liquid, int platformtype = 0) { blocks = block; hasSlopes = slopes.Length > 0; blockSlopes = slopes; hasBlockPaint = blockCol.element.Length > 0; blockColors = blockCol; hasActuatedBlocks = actuated.Length > 0; actuatedBlocks = actuated; hasWallPaint = wall.element.Length > 0; walls = wall; wallColors = wallCol; containsLiquids = liquid.element.Length > 0; liquids = liquid; platformsType = platformtype; }