示例#1
0
 void SetObjectScript()
 {
     objectScript = transform.parent.parent.GetComponent <RoadObjectScript>();
     if (objectScript.ODQQOCODOC == null)
     {
         List <ODODDQQO> arr = ODCDDQQDDC.OCDOQDQCOQ(false);
         objectScript.OODQOODDCO(arr, ODCDDQQDDC.OCQCOCOODC(arr), ODCDDQQDDC.ODQQOQCDOC(arr));
     }
 }
示例#2
0
    static public Transform OCODCDODOC(RoadObjectScript target)
    {
        GameObject go = new GameObject("Side Objects");

        go.transform.parent = target.transform;
        List <ODODDQQO> arr = ODCDDQQDDC.OCDOQDQCOQ(false);

        for (int i = 0; i < target.OOQQQOQO.Length; i++)
        {
            ODODDQQO so = (ODODDQQO)arr[target.OOQQQOQO[i]];
            ODOOCDQQQC(so.name, go.transform, so, target.OOQQQOQO[i], target);
        }
        return(go.transform);
    }
示例#3
0
    static public void OQOQDQOCQD(OQQCCCOQCQ ODQQOCODOC, Transform obj, List <SideObjectParams> param, bool OOQDOOQQ, int[] activeODODDQQO, float raise, RoadObjectScript target, Transform mySideObject)
    {
        List <OCCOOOOCOO> pnts = target.ODQQOCODOC.OOOQODOQQQ;
        List <ODODDQQO>   arr  = ODCDDQQDDC.OCDOQDQCOQ(false);

        for (int i = 0; i < activeODODDQQO.Length; i++)
        {
            ODODDQQO so = (ODODDQQO)arr[activeODODDQQO[i]];

            GameObject goi = null;
            if (so.OQCOCDCCQC != "")
            {
                goi = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OQCOCDCCQC), typeof(GameObject));
            }
            GameObject ODQDOQCCDQ = null;
            if (so.OQDCOQODOQ != "")
            {
                ODQDOQCCDQ = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OQDCOQODOQ), typeof(GameObject));
            }
            GameObject OOOQDCCQDC = null;
            if (so.OOCCDDQQCD != "")
            {
                OOOQDCCQDC = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OOCCDDQQCD), typeof(GameObject));
            }
            ODCDDQQDDC.OQCOQDCDQD(so, pnts, obj, ODQQOCODOC, param, OOQDOOQQ, activeODODDQQO[i], raise, goi, ODQDOQCCDQ, OOOQDCCQDC);
            if (so.terrainTree > 0)
            {
                if (EditorUtility.DisplayDialog("Side Objects", "Side Object " + so.name + " in " + target.gameObject.name + " includes an asset part of the terrain vegetation data.\n\nWould you like to add this side object to the terrain vegetation data?", "yes", "no"))
                {
                    foreach (Transform child in mySideObject)
                    {
                        if (child.gameObject.name == so.name)
                        {
                            ODCDDQQDDC.OOCQDCQCDD(activeODODDQQO[i], child);
                            MonoBehaviour.DestroyImmediate(child.gameObject);
                            break;
                        }
                    }
                }
            }
            foreach (Transform child in mySideObject)
            {
                if (child.gameObject.GetComponent(typeof(sideObjectScript)) != null)
                {
                    MonoBehaviour.DestroyImmediate(child.gameObject.GetComponent(typeof(sideObjectScript)));
                }
            }
        }
    }
示例#4
0
    static public void ODQCOCOQQC(RoadObjectScript target)
    {
        ODCDDQQDDC.OQDOOQQCDD(target.transform);

        List <ODODDQQO> arr = ODCDDQQDDC.OCDOQDQCOQ(false);

        target.OODDDQDCDC(arr, ODCDDQQDDC.OCQCOCOODC(arr), ODCDDQQDDC.ODQQOQCDOC(arr));
        Transform mySideObject = OCODCDODOC(target);

        OQOQDQOCQD(target.ODQQOCODOC, target.transform, target.OQOODOQDCO(), target.OOQDOOQQ, target.OOQQQOQO, target.raise, target, mySideObject);



        target.ODODDDOO = true;
    }
    public static bool GetEasyRoads3DObjects()
    {
        RoadObjectScript[] scripts = (RoadObjectScript[])FindObjectsOfType(typeof(RoadObjectScript));
        bool flag = false;

        foreach (RoadObjectScript script in scripts)
        {
            if (script.ODQQOCODOC == null)
            {
                List <ODODDQQO> arr = ODCDDQQDDC.OCDOQDQCOQ(false);
                script.OQDQQQDQDQ(script.transform, arr, ODCDDQQDDC.OCQCOCOODC(arr), ODCDDQQDDC.ODQQOQCDOC(arr));
            }
            flag = true;
        }
        return(flag);
    }
示例#6
0
    static public void OOCQCCDOQQ(sideObjectScript scr, int index, RoadObjectScript target, Transform go)
    {
        string    n = go.gameObject.name;
        Transform p = go.parent;

        if (go != null)
        {
            MonoBehaviour.DestroyImmediate(go.gameObject);
        }
        List <ODODDQQO> arr = ODCDDQQDDC.OCDOQDQCOQ(false);
        ODODDQQO        so  = (ODODDQQO)arr[index];

        ODOOCDQQQC(n, p, so, index, target);

        GameObject goi = null;

        if (so.OQCOCDCCQC != "")
        {
            goi = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OQCOCDCCQC), typeof(GameObject));
        }
        GameObject ODQDOQCCDQ = null;

        if (so.OQDCOQODOQ != "")
        {
            ODQDOQCCDQ = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OQDCOQODOQ), typeof(GameObject));
        }
        GameObject OOOQDCCQDC = null;

        if (so.OOCCDDQQCD != "")
        {
            OOOQDCCQDC = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OOCCDDQQCD), typeof(GameObject));
        }

        ODCDDQQDDC.OQDCQDOCQC(target.ODQQOCODOC, target.transform, target.OQOODOQDCO(), target.OOQDOOQQ, index, target.raise, goi, ODQDOQCCDQ, OOOQDCCQDC);
        arr = null;
    }
    public static void  FinalizeRoads()
    {
        bool destroyTerrainScript = true;

        if (EditorUtility.DisplayDialog("Build EasyRoads3D Objects", "This process includes destroying all EasyRoads3D control objects. Did you make a backup of the Scene? Do you want to continue?\n\nDepending on the number of EasyRoads3D objects in the Scene and used side objects, this process may take a while. Please be patient. ", "Yes", "No"))
        {
            RoadObjectScript[] scripts = (RoadObjectScript[])FindObjectsOfType(typeof(RoadObjectScript));
            foreach (RoadObjectScript script in scripts)
            {
                bool renderflag        = true;
                bool renderAlreadyDone = false;
                int  num = 0;
                if (!script.displayRoad)
                {
                    num = EditorUtility.DisplayDialogComplex("Disabled EasyRoads3D Object Detected:", script.gameObject.name + " is currently not displayed.\n\nWould you like to activate and finalize this object, destroy this object or skip it in this finalize procedure?", "Finalize", "Destroy", "Skip");
                    if (num == 0)
                    {
                        script.displayRoad = true;
                        if (script.ODQQOCODOC == null)
                        {
                            List <ODODDQQO> arr = ODCDDQQDDC.OCDOQDQCOQ(false);
                            script.OODQOODDCO(arr, ODCDDQQDDC.OCQCOCOODC(arr), ODCDDQQDDC.ODQQOQCDOC(arr));
                        }
                        script.ODQQOCODOC.OQQCODDOQO(script.displayRoad, script.OCQDOCQQOC);
                    }
                    if (num == 1)
                    {
                        renderflag = false;
                    }
                    if (num == 2)
                    {
                        renderflag           = false;
                        destroyTerrainScript = false;
                    }
                }
                if (script.transform != null && renderflag && !script.OCOOQDQCQC)
                {
                    if (script.ODQQOCODOC == null)
                    {
                        List <ODODDQQO> arr = ODCDDQQDDC.OCDOQDQCOQ(false);
                        script.OODQOODDCO(arr, ODCDDQQDDC.OCQCOCOODC(arr), ODCDDQQDDC.ODQQOQCDOC(arr));
                    }

                    if (RoadObjectScript.erInit == "")
                    {
                        RoadObjectScript.erInit = OOCOQCQDCQ.OCQODCCQOQ(RoadObjectScript.version);
                        OQQCCCOQCQ.erInit       = RoadObjectScript.erInit;
                    }

                    if (script.ODQQOCODOC == null)
                    {
                        script.OQDQQQDQDQ(script.transform, null, null, null);
                    }
                    OQQCCCOQCQ.ODOCDQDQCO = true;
                    if (!script.OCOOQDQCQC)
                    {
                        script.geoResolution = 0.5f;
                        script.OOCDOCOCQC();
                        if (script.objectType < 2)
                        {
                            ODQOCOCQCC(script);
                        }
                        script.ODQQOCODOC.terrainRendered = true;
                        script.OOOQDQDQDC();
                    }
                    if (script.displayRoad && script.objectType < 2)
                    {
                        if (script.objectType == 1)
                        {
                            SetWaterScript(script);
                        }
                        script.ODQQOCODOC.road.transform.parent = null;
                        script.ODQQOCODOC.road.layer            = 0;
                        script.ODQQOCODOC.road.name             = script.gameObject.name;
                    }
                    else if (script.ODQQOCODOC.road != null)
                    {
                        DestroyImmediate(script.ODQQOCODOC.road);
                    }



                    bool flag = false;
                    for (int i = 0; i < script.ODODQQOD.Length; i++)
                    {
                        if (script.ODODQQOD[i])
                        {
                            flag = true;
                            break;
                        }
                    }
                    if (flag)
                    {
                        OCODOCOQQD.ODQCOCOQQC(script);
                    }
                    foreach (Transform child in script.transform)
                    {
                        if (child.name == "Side Objects")
                        {
                            child.name   = script.gameObject.name + " - Side Objects ";
                            child.parent = null;
                        }
                    }
                }
                else if (script.OCOOQDQCQC)
                {
                    renderAlreadyDone    = true;
                    destroyTerrainScript = false;
                }
                if ((script.displayRoad || num != 2) && !renderAlreadyDone)
                {
                    DestroyImmediate(script.gameObject);
                }
            }

            if (destroyTerrainScript)
            {
                EasyRoads3DTerrainID[] terrainscripts = (EasyRoads3DTerrainID[])FindObjectsOfType(typeof(EasyRoads3DTerrainID));
                foreach (EasyRoads3DTerrainID script in terrainscripts)
                {
                    DestroyImmediate(script);
                }
            }
        }
    }
示例#8
0
    public void OnGUI()
    {
        if (OQOCDDCOQO.extensionPath == "")
        {
            OQOCDDCOQO.extensionPath = GetExtensionPath();
        }
        strArr     = null;
        sosArr     = null;
        returnType = 0;
        OCDOQOCDCC.OQQOQDOQOD(ref strVar, ref intVar, ref goVar, ref soVar, ref strArr, ref sosArr, ref returnType);


        if (returnType == 2)
        {
            ProceduralObjectsEditor editor = null;
            if (ProceduralObjectsEditor.instance == null)
            {
                editor = (ProceduralObjectsEditor)ScriptableObject.CreateInstance(typeof(ProceduralObjectsEditor));
            }
            else
            {
                editor = ProceduralObjectsEditor.instance;
            }
            editor.position = new Rect(editor.position.x, editor.position.y, 500, 400);

            editor.title = strVar;



            ODODDQQO so = soVar;


            editor.DisplayNodes(intVar, so, goVar);
            editor.Show();
        }
        else if (returnType == 4)
        {
            List <ODODDQQO> arr = ODCDDQQDDC.OCDOQDQCOQ(false);
            RoadObjectScript.ODODOQQO = ODCDDQQDDC.OCQCOCOODC(arr);
            RoadObjectScript[] scripts = (RoadObjectScript[])FindObjectsOfType(typeof(RoadObjectScript));
            foreach (RoadObjectScript scr in scripts)
            {
                scr.OODDDQDCDC(arr, ODCDDQQDDC.OCQCOCOODC(arr), ODCDDQQDDC.ODQQOQCDOC(arr));
            }
            if (ProceduralObjectsEditor.instance != null)
            {
                ProceduralObjectsEditor.instance.Close();
            }
            instance.Close();
        }
        else if (returnType == 1)
        {
            SideObjectImporter ieditor = (SideObjectImporter)ScriptableObject.CreateInstance(typeof(SideObjectImporter));
            SideObjectImporter.sideobjects = strArr;
            SideObjectImporter.flags       = new bool[intVar];

            SideObjectImporter.importedSos = sosArr;
            ieditor.ShowUtility();
        }
        else if (returnType == 3)
        {
            List <ODODDQQO> arr = ODCDDQQDDC.OCDOQDQCOQ(false);
            RoadObjectScript.ODODOQQO = ODCDDQQDDC.OCQCOCOODC(arr);
            RoadObjectScript[] scripts = (RoadObjectScript[])FindObjectsOfType(typeof(RoadObjectScript));
            foreach (RoadObjectScript scr in scripts)
            {
                List <ODODDQQO> arr1 = ODCDDQQDDC.OCDOQDQCOQ(false);
                if (scr.ODQQOCODOC == null)
                {
                    scr.OODQOODDCO(arr1, ODCDDQQDDC.OCQCOCOODC(arr1), ODCDDQQDDC.ODQQOQCDOC(arr1));
                }
                scr.OODDDQDCDC(arr1, ODCDDQQDDC.OCQCOCOODC(arr1), ODCDDQQDDC.ODQQOQCDOC(arr1));
                if (scr.OCOOQDQCQC == true || scr.objectType == 2)
                {
                    GameObject go = GameObject.Find(scr.gameObject.name + "/Side Objects/" + strVar);

                    if (go != null)
                    {
                        OCODOCOQQD.OOCQCCDOQQ((sideObjectScript)go.GetComponent(typeof(sideObjectScript)), intVar, scr, go.transform);
                    }
                }
            }
        }
    }
示例#9
0
    void DoGUI()
    {
        EditorGUILayout.BeginHorizontal();
        GUILayout.Space(60);
        if (GUILayout.Button("Apply", GUILayout.Width(65)))
        {
            OQOODCDCDO.ODCODCOOOC();
            instance.Close();
        }
        if (GUILayout.Button("Close", GUILayout.Width(65)))
        {
            instance.Close();
        }
        EditorGUILayout.EndHorizontal();
        GUILayout.Space(5);
        if (so_editor.isChanged == false)
        {
            GUI.enabled = false;
        }
        EditorGUILayout.BeginHorizontal();
        GUILayout.Space(60);
        if (GUILayout.Button("Update Scene", GUILayout.Width(135)))
        {
            so.nodeList.Clear();
            if (so_editor.closed)
            {
                so_editor.OCOOCCODQQ.Add(so_editor.OCOOCCODQQ[0]);
            }
            so.nodeList.AddRange(so_editor.OCOOCCODQQ);
            so_editor.isChanged = false;
            OCDOQOCDCC.OCOQOOCCQD(OCDOQOCDCC.selectedObject);
            OCDOQOCDCC.ODQDDQDOQC();

            List <ODODDQQO> arr = ODCDDQQDDC.OCDOQDQCOQ(false);
            RoadObjectScript.ODODOQQO = ODCDDQQDDC.OCQCOCOODC(arr);
            RoadObjectScript[] scripts = (RoadObjectScript[])FindObjectsOfType(typeof(RoadObjectScript));
            foreach (RoadObjectScript scr in scripts)
            {
                if (scr.ODQQOCODOC == null)
                {
                    List <ODODDQQO> arr1 = ODCDDQQDDC.OCDOQDQCOQ(false);
                    scr.OODQOODDCO(arr1, ODCDDQQDDC.OCQCOCOODC(arr1), ODCDDQQDDC.ODQQOQCDOC(arr1));
                }
                scr.OODDDQDCDC(arr, ODCDDQQDDC.OCQCOCOODC(arr), ODCDDQQDDC.ODQQOQCDOC(arr));
                if (scr.OCOOQDQCQC == true || scr.objectType == 2)
                {
                    GameObject go = GameObject.Find(scr.gameObject.name + "/Side Objects/" + so.name);


                    if (go != null)
                    {
                        OCODOCOQQD.OOCQCCDOQQ((sideObjectScript)go.GetComponent(typeof(sideObjectScript)), sideObject, scr, go.transform);
                    }
                }
            }
        }
        EditorGUILayout.EndHorizontal();
        GUI.enabled = true;
        if (GUI.changed)
        {
            so_editor.isChanged = true;
        }
        Handles.color = Color.black;
        Handles.DrawLine(new Vector2(stageSelectionGridWidth, 0), new Vector2(stageSelectionGridWidth, Screen.height));

        Handles.DrawLine(new Vector2(stageSelectionGridWidth - 1, 0), new Vector2(stageSelectionGridWidth - 1, Screen.height));
    }