Exemple #1
0
    public void OCQQDCOCCQ(Vector3 pos, bool doInsert)
    {
        if (!displayRoad)
        {
            displayRoad = true;
            OQQCDCOCQO.OQOOCOOCQC(displayRoad, ODOQCQDDCQ);
        }

        int        first  = -1;
        int        second = -1;
        float      dist1  = 10000;
        float      dist2  = 10000;
        Vector3    newpos = pos;
        OCQODDOCQD k;
        OCQODDOCQD k1 = (OCQODDOCQD)OQQCDCOCQO.ODDODQOCQO[0];
        OCQODDOCQD k2 = (OCQODDOCQD)OQQCDCOCQO.ODDODQOCQO[1];

        if (doInsert)
        {
            Debug.Log("Start Insert" + doInsert);
        }
        OQQCDCOCQO.ODOOQDCDQQ(pos, out first, out second, out dist1, out dist2, out k1, out k2, out newpos, doInsert);
        if (doInsert)
        {
            Debug.Log("marker 1: " + first);
            Debug.Log("marker 2: " + second);
        }
        pos = newpos;
        if (doInsert && first >= 0 && second >= 0)
        {
            if (OOOOOCQOCO.OOQDOOQQ && second == OQQCDCOCQO.ODDODQOCQO.Count - 1)
            {
                OCOCDDCDDO(pos);
            }
            else
            {
                k = (OCQODDOCQD)OQQCDCOCQO.ODDODQOCQO[second];
                string name = k.object1.name;
                string n;
                int    j = second + 2;
                for (int i = second; i < OQQCDCOCQO.ODDODQOCQO.Count - 1; i++)
                {
                    k = (OCQODDOCQD)OQQCDCOCQO.ODDODQOCQO[i];
                    if (j < 10)
                    {
                        n = "Marker000" + j.ToString();
                    }
                    else if (j < 100)
                    {
                        n = "Marker00" + j.ToString();
                    }
                    else
                    {
                        n = "Marker0" + j.ToString();
                    }
                    k.object1.name = n;
                    j++;
                }
                k = (OCQODDOCQD)OQQCDCOCQO.ODDODQOCQO[first];
                Transform newnode = (Transform)Instantiate(k.object1.transform, pos, k.object1.rotation);
                newnode.gameObject.name = name;
                newnode.parent          = ODOQCQDDCQ;
#if UNITY_4_5
                newnode.SetSiblingIndex(second);
#elif UNITY_4_6
                newnode.SetSiblingIndex(second);
#elif UNITY_5_0
                newnode.SetSiblingIndex(second);
#endif
                MarkerScript scr = newnode.GetComponent <MarkerScript>();
                scr.ODDCQOCODC = false;
                float totalDist = dist1 + dist2;
                float perc1     = dist1 / totalDist;
                float paramDif  = k1.ri - k2.ri;
                scr.ri   = k1.ri - (paramDif * perc1);
                paramDif = k1.li - k2.li;
                scr.li   = k1.li - (paramDif * perc1);
                paramDif = k1.rt - k2.rt;
                scr.rt   = k1.rt - (paramDif * perc1);
                paramDif = k1.lt - k2.lt;
                scr.lt   = k1.lt - (paramDif * perc1);
                paramDif = k1.rs - k2.rs;
                scr.rs   = k1.rs - (paramDif * perc1);
                paramDif = k1.ls - k2.ls;
                scr.ls   = k1.ls - (paramDif * perc1);
                ODCQOCDDDC(OOOOOCQOCO.geoResolution, false, false);
                if (materialType == 0)
                {
                    OQQCDCOCQO.OCDDQQCCCO(materialType);
                }
#if UNITY_3_5
                if (objectType == 2)
                {
                    scr.surface.gameObject.active = false;
                }
#else
                if (objectType == 2)
                {
                    scr.surface.gameObject.SetActive(false);
                }
#endif
            }
        }
        OOCOOQCQQD();
    }
public void ODCQOCDDDC(float geo, bool renderMode, bool camMode){
OQQCDCOCQO.ODDODQOCQO.Clear();
int ii = 0;
OCQODDOCQD k;
foreach(Transform child  in obj)
{
if(child.name == "Markers"){
foreach(Transform marker   in child) {
MarkerScript markerScript = marker.GetComponent<MarkerScript>();
markerScript.objectScript = obj.GetComponent<RoadObjectScript>();
if(!markerScript.ODDCQOCODC) markerScript.ODDCQOCODC = OQQCDCOCQO.OOCDQOCOQQ(marker);
k  = new OCQODDOCQD();
k.position = marker.position;
k.num = OQQCDCOCQO.ODDODQOCQO.Count;
k.object1 = marker;
k.object2 = markerScript.surface;
k.tension = markerScript.tension;
k.ri = markerScript.ri;
if(k.ri < 1)k.ri = 1f;
k.li =markerScript.li;
if(k.li < 1)k.li = 1f;
k.rt = markerScript.rt;
k.lt = markerScript.lt;
k.rs = markerScript.rs;
if(k.rs < 1)k.rs = 1f;
k.ODQQQQQOQC = markerScript.rs;
k.ls = markerScript.ls;
if(k.ls < 1)k.ls = 1f;
k.OOQDCCOOOO = markerScript.ls;
k.renderFlag = markerScript.bridgeObject;
k.OOCOODCCQC = markerScript.distHeights;
k.newSegment = markerScript.newSegment;
k.tunnelFlag = markerScript.tunnelFlag;
k.floorDepth = markerScript.floorDepth;
k.waterLevel = waterLevel;
k.lockWaterLevel = markerScript.lockWaterLevel;
k.sharpCorner = markerScript.sharpCorner;
k.OCDOCOQOCD = OQQCDCOCQO;
markerScript.markerNum = ii;
markerScript.distance = "-1";
markerScript.OQCCOCCDOD = "-1";
OQQCDCOCQO.ODDODQOCQO.Add(k);
ii++;
}
}
}
distance = "-1";

OQQCDCOCQO.ODDQDCOCQC = OOOOOCQOCO.roadWidth;

OQQCDCOCQO.OCOOQCCQCQ(geo, obj, OOOOOCQOCO.OOQDOOQQ, renderMode, camMode, objectType);
if(OQQCDCOCQO.leftVecs.Count > 0){
leftVecs = OQQCDCOCQO.leftVecs.ToArray();
rightVecs = OQQCDCOCQO.rightVecs.ToArray();
}
}
Exemple #3
0
    public void ODCQOCDDDC(float geo, bool renderMode, bool camMode)
    {
        OQQCDCOCQO.ODDODQOCQO.Clear();
        int        ii = 0;
        OCQODDOCQD k;

        foreach (Transform child  in obj)
        {
            if (child.name == "Markers")
            {
                foreach (Transform marker   in child)
                {
                    MarkerScript markerScript = marker.GetComponent <MarkerScript>();
                    markerScript.objectScript = obj.GetComponent <RoadObjectScript>();
                    if (!markerScript.ODDCQOCODC)
                    {
                        markerScript.ODDCQOCODC = OQQCDCOCQO.OOCDQOCOQQ(marker);
                    }
                    k          = new OCQODDOCQD();
                    k.position = marker.position;
                    k.num      = OQQCDCOCQO.ODDODQOCQO.Count;
                    k.object1  = marker;
                    k.object2  = markerScript.surface;
                    k.tension  = markerScript.tension;
                    k.ri       = markerScript.ri;
                    if (k.ri < 1)
                    {
                        k.ri = 1f;
                    }
                    k.li = markerScript.li;
                    if (k.li < 1)
                    {
                        k.li = 1f;
                    }
                    k.rt = markerScript.rt;
                    k.lt = markerScript.lt;
                    k.rs = markerScript.rs;
                    if (k.rs < 1)
                    {
                        k.rs = 1f;
                    }
                    k.ODQQQQQOQC = markerScript.rs;
                    k.ls         = markerScript.ls;
                    if (k.ls < 1)
                    {
                        k.ls = 1f;
                    }
                    k.OOQDCCOOOO            = markerScript.ls;
                    k.renderFlag            = markerScript.bridgeObject;
                    k.OOCOODCCQC            = markerScript.distHeights;
                    k.newSegment            = markerScript.newSegment;
                    k.tunnelFlag            = markerScript.tunnelFlag;
                    k.floorDepth            = markerScript.floorDepth;
                    k.waterLevel            = waterLevel;
                    k.lockWaterLevel        = markerScript.lockWaterLevel;
                    k.sharpCorner           = markerScript.sharpCorner;
                    k.OCDOCOQOCD            = OQQCDCOCQO;
                    markerScript.markerNum  = ii;
                    markerScript.distance   = "-1";
                    markerScript.OQCCOCCDOD = "-1";
                    OQQCDCOCQO.ODDODQOCQO.Add(k);
                    ii++;
                }
            }
        }
        distance = "-1";

        OQQCDCOCQO.ODDQDCOCQC = OOOOOCQOCO.roadWidth;

        OQQCDCOCQO.OCOOQCCQCQ(geo, obj, OOOOOCQOCO.OOQDOOQQ, renderMode, camMode, objectType);
        if (OQQCDCOCQO.leftVecs.Count > 0)
        {
            leftVecs  = OQQCDCOCQO.leftVecs.ToArray();
            rightVecs = OQQCDCOCQO.rightVecs.ToArray();
        }
    }