public static GameObject CreateBlock(int index, createMode mode) { blockSerialized = serialization.getConvertedTiles(index); block = createGameObject("Block"); createTiles(mode); if (mode == createMode.STANDARD) { block.AddComponent <Block>(); block.GetComponent <Block>().lockRotation = !serialization.isRotatable(index); detectors = createGameObjectAsChildren(block, "Detectors"); detectors.AddComponent <Detector>(); createDetectors(); if (serialization.isRotatable(index)) { createDetectorsRotation(); } else { createGameObjectAsChildren(detectors, "Rotation"); } } fixPosition(); return(block); }
private static void createTiles(createMode mode) { Vector2 pos = new Vector2(); for (int y = 0; y < 6; ++y, pos.y -= 0.38382f, pos.x = 0) { for (int x = 0; x < 6; ++x, pos.x += 0.38382f) { if (blockSerialized[x, y]) { GameObject buffer = createGameObjectAsChildren(block, "Tile", pos, 0.3f); buffer.transform.tag = "Game_blockTile"; addSprite(buffer); if (mode == createMode.STANDARD) { addPhysics(buffer); buffer.AddComponent <BlockTile>(); } } } } }