/// <summary> /// Creates the parts of a bridge visualiiy. This is the part thats is on the ground /// </summary> /// <param name="iniPos"></param> public List <StructureParent> CreatePartListOnGround(List <Vector3> iniPos, List <int> partsP, Transform containerP, H dominantSideP) { List <StructureParent> res = new List <StructureParent>(); StructureParent g = null; for (int i = 0; i < partsP.Count; i++) { if (partsP[i] == 10) { g = StructureParent.CreateStructureParent(ReturnBridgePartRoot(partsP[i]), iniPos[i], BridgeUnit(), container: containerP, startingStage: StartingStageForPieces); g.transform.Rotate(new Vector3(0, 180, 0)); } else if (partsP[i] == 11) { g = StructureParent.CreateStructureParent(ReturnBridgePartRoot(partsP[i]), iniPos[i], BridgeUnit(), container: containerP, startingStage: StartingStageForPieces); } else if (partsP[i] == 12) { g = StructureParent.CreateStructureParent(ReturnBridgePartRoot(partsP[i]), iniPos[i], BridgeUnit(), container: containerP, startingStage: StartingStageForPieces); } if (dominantSideP == H.Vertic) { g.transform.Rotate(new Vector3(0, 270, 0)); } g = ReSizeObj(g, partsP[i], dominantSideP); res.Add(g); } return(res); }
/// <summary> /// Creates the parts list on air /// </summary> private void CreatePartListOnAir() { if (loopCounter < PartsOnAir.Count) { StructureParent sP = null; string root = ""; if (PartsOnAir[loopCounter] == 1) { root = ReturnBridgePartRoot(PartsOnAir[loopCounter]); } else if (PartsOnAir[loopCounter] == 2) { root = ReturnBridgePartRoot(PartsOnAir[loopCounter]); } else if (PartsOnAir[loopCounter] == 3) { root = ReturnBridgePartRoot(PartsOnAir[loopCounter]); } else if (PartsOnAir[loopCounter] == 4) { root = ReturnBridgePartRoot(PartsOnAir[loopCounter]); } sP = StructureParent.CreateStructureParent(root, PlanesOnAirPos[loopCounter], BridgeUnit(), container: transform, startingStage: StartingStageForPieces); if (_dominantSide == H.Vertic) { sP.transform.Rotate(new Vector3(0, 270, 0)); } sP = ReSizeObj(sP, PartsOnAir[loopCounter], _dominantSide); Pieces.Add(sP); loopCounter++; } else { createAirPartsNow = false; loopCounter = 0; createSoilPartsNow = true; //so crystals are added to ground right away PrivHandleZoningAddCrystalsForBridge(); } }
/// <summary> /// Creates the parts on ground /// </summary> private void CreatePartListOnGround() { StructureParent g = null; if (loopCounter < PartsOnSoil.Count) { if (PartsOnSoil[loopCounter] == 10) { g = StructureParent.CreateStructureParent(ReturnBridgePartRoot(PartsOnSoil[loopCounter]), PlanesOnSoil[loopCounter], BridgeUnit(), container: transform, startingStage: StartingStageForPieces); g.transform.Rotate(new Vector3(0, 180, 0)); } else if (PartsOnSoil[loopCounter] == 11) { g = StructureParent.CreateStructureParent(ReturnBridgePartRoot(PartsOnSoil[loopCounter]), PlanesOnSoil[loopCounter], BridgeUnit(), container: transform, startingStage: StartingStageForPieces); } else if (PartsOnSoil[loopCounter] == 12) { g = StructureParent.CreateStructureParent(ReturnBridgePartRoot(PartsOnSoil[loopCounter]), PlanesOnSoil[loopCounter], BridgeUnit(), container: transform, startingStage: StartingStageForPieces); } if (_dominantSide == H.Vertic) { g.transform.Rotate(new Vector3(0, 270, 0)); } g = ReSizeObj(g, PartsOnSoil[loopCounter], _dominantSide); Pieces.Add(g); loopCounter++; } else { createSoilPartsNow = false; loopCounter = 0; } }
/// <summary> /// Creates the parts of a bridge visualiiy. This is the part thats is above the river /// </summary> /// <param name="iniPos"></param> public List <StructureParent> CreatePartListOnAir(List <Vector3> iniPos, List <int> partsP, Transform containerP, H dominantSideP) { List <StructureParent> res = new List <StructureParent>(); for (int i = 0; i < partsP.Count; i++) { StructureParent sP = null; string root = ""; if (partsP[i] == 1) { root = ReturnBridgePartRoot(partsP[i]); } else if (partsP[i] == 2) { root = ReturnBridgePartRoot(partsP[i]); } else if (partsP[i] == 3) { root = ReturnBridgePartRoot(partsP[i]); } else if (partsP[i] == 4) { root = ReturnBridgePartRoot(partsP[i]); } sP = StructureParent.CreateStructureParent(root, iniPos[i], BridgeUnit(), container: containerP, startingStage: StartingStageForPieces); if (dominantSideP == H.Vertic) { sP.transform.Rotate(new Vector3(0, 270, 0)); } sP = ReSizeObj(sP, partsP[i], dominantSideP); res.Add(sP); } return(res); }