예제 #1
0
    /// <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);
    }
예제 #2
0
    /// <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();
        }
    }
예제 #3
0
    /// <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;
        }
    }
예제 #4
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);
    }