Пример #1
0
static public void OQODOCQQCO(OOCOOCQQDQ OQQCDCOCQO, Transform obj , List<SideObjectParams> param , bool OOQDOOQQ ,  int[] activeODODDQQO , float raise, RoadObjectScript target , Transform mySideObject){
List<OCQODDOCQD> pnts  = target.OQQCDCOCQO.ODDODQOCQO;
List<ODODDQQO> arr  = OCOQDQCQDO.OOOCODQOOQ(false);
for(int i = 0; i < activeODODDQQO.Length; i++){  
ODODDQQO so = (ODODDQQO)arr[activeODODDQQO[i]];

GameObject goi  = null;
if(so.OCDDCOQDOD != "") goi =  (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OCDDCOQDOD), typeof(GameObject));
GameObject ODQDDDDCQD = null;
if(so.OQCCDQOCQQ != "") ODQDDDDCQD = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OQCCDQOCQQ), typeof(GameObject));
GameObject OQQDQOOCQO = null;
if(so.OOQODOQQDC != "") OQQDQOOCQO =  (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OOQODOQQDC), typeof(GameObject));
OCOQDQCQDO.OOCDCQCCCO(so, pnts, obj, OQQCDCOCQO, param, OOQDOOQQ, activeODODDQQO[i], raise, goi, ODQDDDDCQD, OQQDQOOCQO);
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){
OCOQDQCQDO.OOQQCDCODQ(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)));
}
}
Пример #2
0
 void SetObjectScript()
 {
     objectScript = transform.parent.parent.GetComponent <RoadObjectScript>();
     if (objectScript.OODODOQQOD == null)
     {
         objectScript.OOCCOODQQD(null, null, null);
     }
 }
 void SetObjectScript()
 {
     objectScript = transform.parent.parent.GetComponent <RoadObjectScript>();
     if (objectScript.OQCODQCQOC == null)
     {
         objectScript.OCOOCQODQD(null, null, null);
     }
 }
Пример #4
0
 void SetObjectScript()
 {
     objectScript = transform.parent.parent.GetComponent <RoadObjectScript>();
     if (objectScript.OCDQDOOOCO == null)
     {
         objectScript.ODQQDDQDDO(null, null, null);
     }
 }
Пример #5
0
 private void SetObjectScript()
 {
     this.objectScript = base.transform.parent.parent.GetComponent <RoadObjectScript>();
     if (this.objectScript.OOQQCODOCD == null)
     {
         ArrayList arr = ODODDCCOQO.OCDCQOOODO(false);
         this.objectScript.OCOQDDODDQ(arr, ODODDCCOQO.OOQOOQODQQ(arr), ODODDCCOQO.OQQDOODOOQ(arr));
     }
 }
Пример #6
0
 void SetObjectScript()
 {
     objectScript = transform.parent.parent.GetComponent <RoadObjectScript>();
     if (objectScript.OOOOODODCQ == null)
     {
         List <ODODDQQO> arr = OCDQDCQOCQ.OQOODCQQCO(false);
         objectScript.ODODCDOOQC(arr, OCDQDCQOCQ.OQQQOOOOOC(arr), OCDQDCQOCQ.OQODCCCCCD(arr));
     }
 }
Пример #7
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));
     }
 }
Пример #8
0
 void SetObjectScript()
 {
     objectScript = transform.parent.parent.GetComponent <RoadObjectScript>();
     if (objectScript.OQQCDCOCQO == null)
     {
         List <ODODDQQO> arr = OCOQDQCQDO.OOOCODQOOQ(false);
         objectScript.OQDCDCOODC(arr, OCOQDQCQDO.ODOCQDDCCD(arr), OCOQDQCQDO.ODCOCCOQCQ(arr));
     }
 }
Пример #9
0
 void SetObjectScript()
 {
     objectScript = transform.parent.parent.GetComponent <RoadObjectScript>();
     if (objectScript.OOCQCQDOQO == null)
     {
         List <ODODDQQO> arr = ODDQQCODQO.OOQDQCCQDQ(false);
         objectScript.OCDCQQQCCQ(arr, ODDQQCODQO.ODQQOCCOQC(arr), ODDQQCODQO.OCQCOCOODD(arr));
     }
 }
Пример #10
0
    public static void ODCOCCQCCC(RoadObjectScript target)
    {
        OCOQDQCQDO.OOOOOOOCQO(target.transform);

        List<ODODDQQO> arr = OCOQDQCQDO.OOOCODQOOQ(false);
        target.OQQODDQCQD(arr, OCOQDQCQDO.ODOCQDDCCD(arr), OCOQDQCQDO.ODCOCCOQCQ(arr));
        Transform mySideObject = ODDQDODCCQ(target);
        OQODOCQQCO(target.OQQCDCOCQO, target.transform, target.OQOOQQDCQC(), target.OOQDOOQQ, target.OOQQQOQO, target.raise, target, mySideObject);

        target.ODODDDOO = true;
    }
Пример #11
0
    public static Transform ODDQDODCCQ(RoadObjectScript target)
    {
        GameObject go  =  new GameObject("Side Objects");

        go.transform.parent = target.transform;
        List<ODODDQQO> arr = OCOQDQCQDO.OOOCODQOOQ(false);
        for(int i = 0; i < target.OOQQQOQO.Length; i++){
        ODODDQQO so = (ODODDQQO)arr[target.OOQQQOQO[i]];
        OQDQQDODCD(so.name, go.transform, so, target.OOQQQOQO[i], target);
        }
        return go.transform;
    }
Пример #12
0
 private static void SetWaterScript(RoadObjectScript target)
 {
     for (int i = 0; i < target.OQCODCDOQC.Length; i++)
     {
         if (target.OOCQCQDOQO.road.GetComponent(target.OQCODCDOQC[i]) != null && i != target.selectedWaterScript)
         {
             DestroyImmediate(target.OOCQCQDOQO.road.GetComponent(target.OQCODCDOQC[i]));
         }
     }
     if (target.OQCODCDOQC[0] != "None Available!" && target.OOCQCQDOQO.road.GetComponent(target.OQCODCDOQC[target.selectedWaterScript]) == null)
     {
         UnityEngineInternal.APIUpdaterRuntimeServices.AddComponent(target.OOCQCQDOQO.road, "Assets/EasyRoads3D/Editor/EasyRoadsEditorMenu.cs (314,1)", target.OQCODCDOQC[target.selectedWaterScript]);
     }
 }
Пример #13
0
 private static void SetWaterScript(RoadObjectScript target)
 {
     for (int i = 0; i < target.OCCCCCOOOQ.Length; i++)
     {
         if (target.OQCODQCQOC.road.GetComponent(target.OCCCCCOOOQ[i]) != null && i != target.selectedWaterScript)
         {
             DestroyImmediate(target.OQCODQCQOC.road.GetComponent(target.OCCCCCOOOQ[i]));
         }
     }
     if (target.OCCCCCOOOQ[0] != "None Available!" && target.OQCODQCQOC.road.GetComponent(target.OCCCCCOOOQ[target.selectedWaterScript]) == null)
     {
         target.OQCODQCQOC.road.AddComponent(target.OCCCCCOOOQ[target.selectedWaterScript]);
     }
 }
Пример #14
0
    static public Transform ODDQDODCCQ(RoadObjectScript target)
    {
        GameObject go = new GameObject("Side Objects");

        go.transform.parent = target.transform;
        List <ODODDQQO> arr = OCOQDQCQDO.OOOCODQOOQ(false);

        for (int i = 0; i < target.OOQQQOQO.Length; i++)
        {
            ODODDQQO so = (ODODDQQO)arr[target.OOQQQOQO[i]];
            OQDQQDODCD(so.name, go.transform, so, target.OOQQQOQO[i], target);
        }
        return(go.transform);
    }
Пример #15
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;
    }
Пример #16
0
    static public void OQODCQDDCO(RoadObjectScript target)
    {
        OCDQDCQOCQ.OCQCDDOCDQ(target.transform);

        List <ODODDQQO> arr = OCDQDCQOCQ.OQOODCQQCO(false);

        target.OCODODQDDO(arr, OCDQDCQOCQ.OQQQOOOOOC(arr), OCDQDCQOCQ.OQODCCCCCD(arr));
        Transform mySideObject = OQOQOODCDD(target);

        ODQQOQDCDO(target.OOOOODODCQ, target.transform, target.OOCCOOODOO(), target.OOQDOOQQ, target.OOQQQOQO, target.raise, target, mySideObject);



        target.ODODDDOO = true;
    }
Пример #17
0
    static public void ODCOCCQCCC(RoadObjectScript target)
    {
        OCOQDQCQDO.OOOOOOOCQO(target.transform);

        List <ODODDQQO> arr = OCOQDQCQDO.OOOCODQOOQ(false);

        target.OQQODDQCQD(arr, OCOQDQCQDO.ODOCQDDCCD(arr), OCOQDQCQDO.ODCOCCOQCQ(arr));
        Transform mySideObject = ODDQDODCCQ(target);

        OQODOCQQCO(target.OQQCDCOCQO, target.transform, target.OQOOQQDCQC(), target.OOQDOOQQ, target.OOQQQOQO, target.raise, target, mySideObject);



        target.ODODDDOO = true;
    }
Пример #18
0
    public ArrayList RebuildObjs()
    {
        RoadObjectScript[] roadObjectScriptArray = (RoadObjectScript[])UnityEngine.Object.FindObjectsOfType(typeof(RoadObjectScript));
        ArrayList          arrayLists            = new ArrayList();

        RoadObjectScript[] roadObjectScriptArray1 = roadObjectScriptArray;
        for (int i = 0; i < (int)roadObjectScriptArray1.Length; i++)
        {
            RoadObjectScript roadObjectScript = roadObjectScriptArray1[i];
            if (roadObjectScript.transform != base.transform)
            {
                arrayLists.Add(roadObjectScript.transform);
            }
        }
        return(arrayLists);
    }
Пример #19
0
    static private void OOQCOOQQDO(RoadObjectScript target)
    {
        EditorUtility.DisplayProgressBar("Build EasyRoads3D Object - " + target.gameObject.name, "Initializing", 0);

        RoadObjectScript[] scripts = (RoadObjectScript[])FindObjectsOfType(typeof(RoadObjectScript));
        List <Transform>   rObj    = new List <Transform>();


                #if UNITY_4_6
                #elif UNITY_4_5
                #elif UNITY_4_3
                #else
        Undo.RegisterUndo(ODQOOOQOQO.terrain.terrainData, "EasyRoads3D Terrain leveling");
                #endif


        foreach (RoadObjectScript script in scripts)
        {
            if (script.transform != target.transform)
            {
                rObj.Add(script.transform);
            }
        }
        if (target.ODODQOQO == null)
        {
            target.ODODQOQO    = target.OQCODQCQOC.ODDDCOQDCC();
            target.ODODQOQOInt = target.OQCODQCQOC.OCDDCDCCQD();
        }
        target.OQDODQOODQ(0.5f, true, false);

        List <tPoint>  hitOCOCCDOQQD = target.OQCODQCQOC.OQCCCOQCOO(Vector3.zero, target.raise, target.obj, target.OOQDOOQQ, rObj, target.handleVegetation);
        List <Vector3> changeArr     = new List <Vector3>();
        float          stepsf        = Mathf.Floor(hitOCOCCDOQQD.Count / 10);
        int            steps         = Mathf.RoundToInt(stepsf);
        for (int i = 0; i < 10; i++)
        {
            changeArr = target.OQCODQCQOC.OOCDDDQQQD(hitOCOCCDOQQD, i * steps, steps, changeArr);
            EditorUtility.DisplayProgressBar("Build EasyRoads3D Object - " + target.gameObject.name, "Updating Terrain", i * 10);
        }

        changeArr = target.OQCODQCQOC.OOCDDDQQQD(hitOCOCCDOQQD, 10 * steps, hitOCOCCDOQQD.Count - (10 * steps), changeArr);
        target.OQCODQCQOC.OQCQCCCOOQ(changeArr, rObj);

        target.OQCCOODCDO();
        EditorUtility.ClearProgressBar();
    }
Пример #20
0
    private static void SetWaterScript(RoadObjectScript target)
    {
        for (int i = 0; i < target.OOQCDQCQCQ.Length; i++)
        {
            if (target.OODODOQQOD.road.GetComponent(target.OOQCDQCQCQ[i]) != null && i != target.selectedWaterScript)
            {
                DestroyImmediate(target.OODODOQQOD.road.GetComponent(target.OOQCDQCQCQ[i]));
            }
        }
        if (target.OOQCDQCQCQ[0] != "None Available!" && target.OODODOQQOD.road.GetComponent(target.OOQCDQCQCQ[target.selectedWaterScript]) == null)
        {
#if UNITY_5_0
//UnityEngineInternal.APIUpdaterRuntimeServices.AddComponent(target.OODODOQQOD.road, "Assets/EasyRoads3D/Editor/EasyRoadsEditorMenu.cs (460,4)", target.OOQCDQCQCQ[target.selectedWaterScript]);
#else
            target.OODODOQQOD.road.AddComponent(target.OOQCDQCQCQ[target.selectedWaterScript]);
#endif
        }
    }
    static private void OQOODODOCC(RoadObjectScript target)
    {
        EditorUtility.DisplayProgressBar("Build EasyRoads3D Object - " + target.gameObject.name, "Initializing", 0);

        RoadObjectScript[] scripts = (RoadObjectScript[])FindObjectsOfType(typeof(RoadObjectScript));
        ArrayList          rObj    = new ArrayList();

        Undo.RegisterUndo(Terrain.activeTerrain.terrainData, "EasyRoads3D Terrain leveling");
        foreach (RoadObjectScript script in scripts)
        {
            if (script.transform != target.transform)
            {
                rObj.Add(script.transform);
            }
        }
        if (target.ODODQOQO == null)
        {
            target.ODODQOQO    = target.OCDQDOOOCO.OODQDQDDCC();
            target.ODODQOQOInt = target.OCDQDOOOCO.ODOOQODCQO();
        }
        target.OOCQOCQOOD(0.5f, true, false);

        ArrayList hitOCQOCDOOOQ = target.OCDQDOOOCO.OOOOQDCCOQ(Vector3.zero, target.raise, target.obj, target.OOQDOOQQ, rObj, target.handleVegetation);
        ArrayList changeArr     = new ArrayList();
        float     stepsf        = Mathf.Floor(hitOCQOCDOOOQ.Count / 10);
        int       steps         = Mathf.RoundToInt(stepsf);

        for (int i = 0; i < 10; i++)
        {
            changeArr = target.OCDQDOOOCO.OODOOOCQCQ(hitOCQOCDOOOQ, i * steps, steps, changeArr);
            EditorUtility.DisplayProgressBar("Build EasyRoads3D Object - " + target.gameObject.name, "Updating Terrain", i * 10);
        }

        changeArr = target.OCDQDOOOCO.OODOOOCQCQ(hitOCQOCDOOOQ, 10 * steps, hitOCQOCDOOOQ.Count - (10 * steps), changeArr);
        target.OCDQDOOOCO.OQODQDCCCO(changeArr, rObj);

        target.OQCQCCOCOQ();
        EditorUtility.ClearProgressBar();
    }
Пример #22
0
static public void OOOQDQCCDQ(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 = OCOQDQCQDO.OOOCODQOOQ(false);
ODODDQQO so = (ODODDQQO)arr[index];

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

GameObject goi  = null;
if(so.OCDDCOQDOD != "") goi =  (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OCDDCOQDOD), typeof(GameObject));
GameObject ODQDDDDCQD = null;
if(so.OQCCDQOCQQ != "") ODQDDDDCQD = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OQCCDQOCQQ), typeof(GameObject));
GameObject OQQDQOOCQO = null;
if(so.OOQODOQQDC != "") OQQDQOOCQO =  (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OOQODOQQDC), typeof(GameObject));

OCOQDQCQDO.OOODCQDOQO(target.OQQCDCOCQO, target.transform, target.OQOOQQDCQC(), target.OOQDOOQQ, index, target.raise, goi, ODQDDDDCQD, OQQDQOOCQO);
arr = null;
}
Пример #23
0
    public void ODDOOODDCQ()
    {
        RoadObjectScript[] roadObjectScriptArray = (RoadObjectScript[])UnityEngine.Object.FindObjectsOfType(typeof(RoadObjectScript));
        ArrayList          arrayLists            = new ArrayList();

        RoadObjectScript[] roadObjectScriptArray1 = roadObjectScriptArray;
        for (int i = 0; i < (int)roadObjectScriptArray1.Length; i++)
        {
            RoadObjectScript roadObjectScript = roadObjectScriptArray1[i];
            if (roadObjectScript.transform != base.transform)
            {
                arrayLists.Add(roadObjectScript.transform);
            }
        }
        if (this.ODODQOQO == null)
        {
            this.ODODQOQO    = this.OOQQCODOCD.OCDODCOCOC();
            this.ODODQOQOInt = this.OOQQCODOCD.OCCQOQCQDO();
        }
        this.OCOOCODDOC(0.5f, true, false);
        this.OOQQCODOCD.OCOOOOCOQO(Vector3.zero, this.OODCCOODCC.raise, this.obj, this.OODCCOODCC.OOQDOOQQ, arrayLists, this.handleVegetation);
        this.OCQDCQDDCO();
    }
Пример #24
0
    static public void OOOQDQCCDQ(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 = OCOQDQCQDO.OOOCODQOOQ(false);
        ODODDQQO        so  = (ODODDQQO)arr[index];

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

        GameObject goi = null;

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

        if (so.OQCCDQOCQQ != "")
        {
            ODQDDDDCQD = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OQCCDQOCQQ), typeof(GameObject));
        }
        GameObject OQQDQOOCQO = null;

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

        OCOQDQCQDO.OOODCQDOQO(target.OQQCDCOCQO, target.transform, target.OQOOQQDCQC(), target.OOQDOOQQ, index, target.raise, goi, ODQDDDDCQD, OQQDQOOCQO);
        arr = null;
    }
Пример #25
0
 void SetObjectScript()
 {
     objectScript = transform.parent.parent.GetComponent<RoadObjectScript>();
     if(objectScript.OQCODQCQOC == null){
     objectScript.OCOOCQODQD(null, null, null);
     }
 }
Пример #26
0
private static void SetWaterScript(RoadObjectScript target){
for(int i = 0; i < target.OOQCDQCQCQ.Length; i++){
if(target.OODODOQQOD.road.GetComponent(target.OOQCDQCQCQ[i]) != null && i != target.selectedWaterScript)DestroyImmediate(target.OODODOQQOD.road.GetComponent(target.OOQCDQCQCQ[i]));
}
if(target.OOQCDQCQCQ[0] != "None Available!"  && target.OODODOQQOD.road.GetComponent(target.OOQCDQCQCQ[target.selectedWaterScript]) == null){
#if UNITY_5
//UnityEngineInternal.APIUpdaterRuntimeServices.AddComponent(target.OODODOQQOD.road, "Assets/EasyRoads3D/Editor/EasyRoadsEditorMenu.cs (460,4)", target.OOQCDQCQCQ[target.selectedWaterScript]);
			#elif UNITY_5
			//UnityEngineInternal.APIUpdaterRuntimeServices.AddComponent(target.OODODOQQOD.road, "Assets/EasyRoads3D/Editor/EasyRoadsEditorMenu.cs (460,4)", target.OOQCDQCQCQ[target.selectedWaterScript]);
			#else
target.OODODOQQOD.road.AddComponent(target.OOQCDQCQCQ[target.selectedWaterScript]);
#endif

}
}
Пример #27
0
 void SetObjectScript()
 {
     objectScript = transform.parent.parent.GetComponent<RoadObjectScript>();
     if(objectScript.OCDQDOOOCO == null){
     objectScript.ODQQDDQDDO(null, null, null);
     }
 }
Пример #28
0
void SetObjectScript(){

objectScript = transform.parent.parent.GetComponent<RoadObjectScript>();
if(objectScript.OODODOQQOD == null){
objectScript.OOCCOODQQD(null, null, null);
}
}
    private static void OQOODODOCC(RoadObjectScript target)
    {
        EditorUtility.DisplayProgressBar("Build EasyRoads3D Object - " + target.gameObject.name,"Initializing", 0);

        RoadObjectScript[] scripts = (RoadObjectScript[])FindObjectsOfType(typeof(RoadObjectScript));
        ArrayList rObj = new ArrayList();
        Undo.RegisterUndo(Terrain.activeTerrain.terrainData, "EasyRoads3D Terrain leveling");
        foreach(RoadObjectScript script in scripts) {
        if(script.transform != target.transform) rObj.Add(script.transform);
        }
        if(target.ODODQOQO == null){
        target.ODODQOQO = target.OCDQDOOOCO.OODQDQDDCC();
        target.ODODQOQOInt = target.OCDQDOOOCO.ODOOQODCQO();
        }
        target.OOCQOCQOOD(0.5f, true, false);

        ArrayList hitOCQOCDOOOQ = target.OCDQDOOOCO.OOOOQDCCOQ(Vector3.zero, target.raise, target.obj, target.OOQDOOQQ, rObj, target.handleVegetation);
        ArrayList changeArr = new ArrayList();
        float stepsf = Mathf.Floor(hitOCQOCDOOOQ.Count / 10);
        int steps = Mathf.RoundToInt(stepsf);
        for(int i = 0; i < 10;i++){
        changeArr = target.OCDQDOOOCO.OODOOOCQCQ(hitOCQOCDOOOQ, i * steps, steps, changeArr);
        EditorUtility.DisplayProgressBar("Build EasyRoads3D Object - " + target.gameObject.name,"Updating Terrain", i * 10);
        }

        changeArr = target.OCDQDOOOCO.OODOOOCQCQ(hitOCQOCDOOOQ, 10 * steps, hitOCQOCDOOOQ.Count - (10 * steps), changeArr);
        target.OCDQDOOOCO.OQODQDCCCO(changeArr, rObj);

        target.OQCQCCOCOQ();
        EditorUtility.ClearProgressBar();
    }
    public void OnGUI()
    {
        if (ODCQOCODOC == null)
        {
            OQODOOOQQQ = GUI.skin;
            ODCQOCODOC = (GUISkin)Resources.Load("ER3DSkin", typeof(GUISkin));
        }
        if (objectname == "NewEasyRoads3D")
        {
            objectname = GetNewRoadName();
        }
        if (titleContent.text == "NewEasyRoads3D")
        {
            titleContent = new GUIContent("New EasyRoads3D Object");
        }


        GUILayout.Space(15);
        GUILayout.Box("", GUILayout.MinWidth(340), GUILayout.MaxWidth(340), GUILayout.Height(70));
        GUI.skin = OQODOOOQQQ;
        GUILayout.BeginArea(new Rect(5, 5, 336, 250));
        GUILayout.Label("Set a name for the new EasyRoads3D Road Object");
        GUILayout.Space(65);
        GUILayout.BeginArea(new Rect(50, 40, 250, 150));



        RoadObjectScript.objectStrings    = new string[1];
        RoadObjectScript.objectStrings[0] = "Road Object";;

        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("Object type", GUILayout.Width(75));
        objectType = EditorGUILayout.Popup(objectType, RoadObjectScript.objectStrings, EditorStyles.toolbarPopup, GUILayout.Width(150));
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("Object name", GUILayout.Width(75));
        objectname = GUILayout.TextField(objectname, GUILayout.Width(150));
        EditorGUILayout.EndHorizontal();
        GUILayout.EndArea();
        EditorGUILayout.Space();
        EditorGUILayout.BeginHorizontal();
        GUILayout.Space(195);
        if (GUILayout.Button("Create Object", EditorStyles.toolbarButton, GUILayout.Width(125)))
        {
            if (objectname == "")
            {
                EditorUtility.DisplayDialog("Alert", "Please fill out a name for the new road object!", "Close");
            }
            else
            {
                bool     flag = false;
                string[] dirs = Directory.GetDirectories(Directory.GetCurrentDirectory() + backupFolder);
                foreach (string nm in dirs)
                {
                    string[] words = nm.Split('\\');
                    words = words[words.Length - 1].Split('/');
                    string nm1 = words[words.Length - 1];
                    if (nm1.ToUpper() == objectname.ToUpper())
                    {
                        EditorUtility.DisplayDialog("Alert", "An EasyRoads3D object with the name '" + objectname + "' already exists!\r\n\r\nPlease use an unique name!", "Close");
                        flag = true;
                        break;
                    }
                }
                if (!flag)
                {
                    GameObject go = (GameObject)MonoBehaviour.Instantiate(Resources.Load("EasyRoad3DObject", typeof(GameObject)));
                    instance.Close();
                    go.name = objectname;
                    go.transform.position = Vector3.zero;
                    RoadObjectScript script = go.GetComponent <RoadObjectScript>();
                    script.OOQDOOQQ      = false;
                    script.autoUpdate    = true;
                    script.surrounding   = 3.0f;
                    script.indent        = 3.0f;
                    script.geoResolution = 2.5f;
                    script.objectType    = objectType;
                    script.materialType  = 0;
                    if (objectType == 1)
                    {
                        script.objectText = "River";
                        script.forceY     = true;
                    }
                    if (objectType == 2)
                    {
                        script.geoResolution = 0.5f;
                    }
                    Selection.activeGameObject = go;
                }
            }
        }
        EditorGUILayout.EndHorizontal();
        GUILayout.EndArea();
    }
Пример #31
0
    public void ODOCOQCCOC(Transform tr, ArrayList arr, string[] DOODQOQO, string[] OODDQOQO)
    {
        RoadObjectScript.version    = "2.4.6";
        RoadObjectScript.OODCDOQDCC = (GUISkin)UnityEngine.Resources.Load("ER3DSkin", typeof(GUISkin));
        RoadObjectScript.OQOOODODQD = (Texture2D)UnityEngine.Resources.Load("ER3DLogo", typeof(Texture2D));
        if (RoadObjectScript.objectStrings == null)
        {
            RoadObjectScript.objectStrings = new string[] { "Road Object", "River Object", "Procedural Mesh Object" };
        }
        this.obj        = tr;
        this.OOQQCODOCD = new OQCDQQDQCC();
        this.OODCCOODCC = this.obj.GetComponent <RoadObjectScript>();
        IEnumerator enumerator = this.obj.GetEnumerator();

        try
        {
            while (enumerator.MoveNext())
            {
                Transform current = (Transform)enumerator.Current;
                if (current.name != "Markers")
                {
                    continue;
                }
                this.OODDDCQCOC = current;
            }
        }
        finally
        {
            IDisposable disposable = enumerator as IDisposable;
            if (disposable == null)
            {
            }
            disposable.Dispose();
        }
        OQCDQQDQCC.terrainList.Clear();
        Terrain[] terrainArray = (Terrain[])UnityEngine.Object.FindObjectsOfType(typeof(Terrain));
        for (int i = 0; i < (int)terrainArray.Length; i++)
        {
            Terrain  terrain   = terrainArray[i];
            Terrains component = new Terrains()
            {
                terrain = terrain
            };
            if (terrain.gameObject.GetComponent <EasyRoads3DTerrainID>())
            {
                component.id = terrain.gameObject.GetComponent <EasyRoads3DTerrainID>().terrainid;
            }
            else
            {
                EasyRoads3DTerrainID easyRoads3DTerrainID = (EasyRoads3DTerrainID)terrain.gameObject.AddComponent("EasyRoads3DTerrainID");
                string str = UnityEngine.Random.Range(100000000, 999999999).ToString();
                easyRoads3DTerrainID.terrainid = str;
                component.id = str;
            }
            this.OOQQCODOCD.OCDQQCDOQO(component);
        }
        ODCDDDDQQD.OCDQQCDOQO();
        if (this.roadMaterialEdit == null)
        {
            this.roadMaterialEdit = (Material)UnityEngine.Resources.Load("materials/roadMaterialEdit", typeof(Material));
        }
        if (this.objectType == 0 && GameObject.Find(string.Concat(base.gameObject.name, "/road")) == null)
        {
            (new GameObject("road")).transform.parent = base.transform;
        }
        this.OOQQCODOCD.OODQOQCDCQ(this.obj, RoadObjectScript.OCQCDDDOCC, this.OODCCOODCC.roadWidth, this.surfaceOpacity, out this.OOCCDCOQCQ, out this.indent, this.applyAnimation, this.waveSize, this.waveHeight);
        this.OOQQCODOCD.ODDQCCDCDC       = this.ODDQCCDCDC;
        this.OOQQCODOCD.OOCQDOOCQD       = this.OOCQDOOCQD;
        this.OOQQCODOCD.OdQODQOD         = this.OdQODQOD + 1;
        this.OOQQCODOCD.OOQQQDOD         = this.OOQQQDOD;
        this.OOQQCODOCD.OOQQQDODOffset   = this.OOQQQDODOffset;
        this.OOQQCODOCD.OOQQQDODLength   = this.OOQQQDODLength;
        this.OOQQCODOCD.objectType       = this.objectType;
        this.OOQQCODOCD.snapY            = this.snapY;
        this.OOQQCODOCD.terrainRendered  = this.ODODCOCCDQ;
        this.OOQQCODOCD.handleVegetation = this.handleVegetation;
        this.OOQQCODOCD.raise            = this.raise;
        this.OOQQCODOCD.roadResolution   = this.roadResolution;
        this.OOQQCODOCD.multipleTerrains = this.multipleTerrains;
        this.OOQQCODOCD.editRestore      = this.editRestore;
        this.OOQQCODOCD.roadMaterialEdit = this.roadMaterialEdit;
        if (RoadObjectScript.backupLocation != 0)
        {
            OOCDQCOODC.backupFolder = "/Assets/EasyRoads3D/backups";
        }
        else
        {
            OOCDQCOODC.backupFolder = "/EasyRoads3D";
        }
        this.ODODQOQO    = this.OOQQCODOCD.OCDODCOCOC();
        this.ODODQOQOInt = this.OOQQCODOCD.OCCQOQCQDO();
        if (this.ODODCOCCDQ)
        {
            this.doRestore = true;
        }
        this.OOQODQOCOC();
        if (arr != null || RoadObjectScript.ODODQOOQ == null)
        {
            this.OOOOOOODCD(arr, DOODQOQO, OODDQOQO);
        }
        if (this.doRestore)
        {
            return;
        }
    }
Пример #32
0
 private void SetObjectScript()
 {
     this.objectScript = base.transform.parent.parent.GetComponent<RoadObjectScript>();
     if (this.objectScript.OOQQCODOCD == null)
     {
         ArrayList arrayLists = ODODDCCOQO.OCDCQOOODO(false);
         this.objectScript.OCOQDDODDQ(arrayLists, ODODDCCOQO.OOQOOQODQQ(arrayLists), ODODDCCOQO.OQQDOODOOQ(arrayLists));
     }
 }
Пример #33
0
    public void ODOCOQCCOC(Transform tr, ArrayList arr, string[] DOODQOQO, string[] OODDQOQO)
    {
        version    = "2.4.6";
        OODCDOQDCC = (GUISkin)Resources.Load("ER3DSkin", typeof(GUISkin));
        OQOOODODQD = (Texture2D)Resources.Load("ER3DLogo", typeof(Texture2D));
        if (objectStrings == null)
        {
            objectStrings = new string[] { "Road Object", "River Object", "Procedural Mesh Object" };
        }
        this.obj        = tr;
        this.OOQQCODOCD = new OQCDQQDQCC();
        this.OODCCOODCC = this.obj.GetComponent <RoadObjectScript>();
        IEnumerator enumerator = this.obj.GetEnumerator();

        try
        {
            while (enumerator.MoveNext())
            {
                Transform current = (Transform)enumerator.Current;
                if (current.name == "Markers")
                {
                    this.OODDDCQCOC = current;
                }
            }
        }
        finally
        {
            IDisposable disposable = enumerator as IDisposable;
            if (disposable == null)
            {
            }
            disposable.Dispose();
        }
        OQCDQQDQCC.terrainList.Clear();
        Terrain[] terrainArray = (Terrain[])Object.FindObjectsOfType(typeof(Terrain));
        foreach (Terrain terrain in terrainArray)
        {
            Terrains t = new Terrains {
                terrain = terrain
            };
            if (terrain.gameObject.GetComponent <EasyRoads3DTerrainID>() == null)
            {
                EasyRoads3DTerrainID nid = (EasyRoads3DTerrainID)terrain.gameObject.AddComponent("EasyRoads3DTerrainID");
                string str = Random.Range(0x5f5e100, 0x3b9ac9ff).ToString();
                nid.terrainid = str;
                t.id          = str;
            }
            else
            {
                t.id = terrain.gameObject.GetComponent <EasyRoads3DTerrainID>().terrainid;
            }
            this.OOQQCODOCD.OCDQQCDOQO(t);
        }
        ODCDDDDQQD.OCDQQCDOQO();
        if (this.roadMaterialEdit == null)
        {
            this.roadMaterialEdit = (Material)Resources.Load("materials/roadMaterialEdit", typeof(Material));
        }
        if ((this.objectType == 0) && (GameObject.Find(base.gameObject.name + "/road") == null))
        {
            GameObject obj2 = new GameObject("road")
            {
                transform = { parent = base.transform }
            };
        }
        this.OOQQCODOCD.OODQOQCDCQ(this.obj, OCQCDDDOCC, this.OODCCOODCC.roadWidth, this.surfaceOpacity, out this.OOCCDCOQCQ, out this.indent, this.applyAnimation, this.waveSize, this.waveHeight);
        this.OOQQCODOCD.ODDQCCDCDC       = this.ODDQCCDCDC;
        this.OOQQCODOCD.OOCQDOOCQD       = this.OOCQDOOCQD;
        this.OOQQCODOCD.OdQODQOD         = this.OdQODQOD + 1;
        this.OOQQCODOCD.OOQQQDOD         = this.OOQQQDOD;
        this.OOQQCODOCD.OOQQQDODOffset   = this.OOQQQDODOffset;
        this.OOQQCODOCD.OOQQQDODLength   = this.OOQQQDODLength;
        this.OOQQCODOCD.objectType       = this.objectType;
        this.OOQQCODOCD.snapY            = this.snapY;
        this.OOQQCODOCD.terrainRendered  = this.ODODCOCCDQ;
        this.OOQQCODOCD.handleVegetation = this.handleVegetation;
        this.OOQQCODOCD.raise            = this.raise;
        this.OOQQCODOCD.roadResolution   = this.roadResolution;
        this.OOQQCODOCD.multipleTerrains = this.multipleTerrains;
        this.OOQQCODOCD.editRestore      = this.editRestore;
        this.OOQQCODOCD.roadMaterialEdit = this.roadMaterialEdit;
        if (backupLocation == 0)
        {
            OOCDQCOODC.backupFolder = "/EasyRoads3D";
        }
        else
        {
            OOCDQCOODC.backupFolder = "/Assets/EasyRoads3D/backups";
        }
        this.ODODQOQO    = this.OOQQCODOCD.OCDODCOCOC();
        this.ODODQOQOInt = this.OOQQCODOCD.OCCQOQCQDO();
        if (this.ODODCOCCDQ)
        {
            this.doRestore = true;
        }
        this.OOQODQOCOC();
        if ((arr != null) || (ODODQOOQ == null))
        {
            this.OOOOOOODCD(arr, DOODQOQO, OODDQOQO);
        }
        if (!this.doRestore)
        {
        }
    }
Пример #34
0
    public void OODDQODCCQ(Transform tr, ArrayList arr, String[] DOODQOQO, String[] OODDQOQO)
    {
        version = "2.4.7";
        ODOOCDQODD = (GUISkin)Resources.Load("ER3DSkin", typeof(GUISkin));

        OQOCDODQOD = (Texture2D)Resources.Load("ER3DLogo", typeof(Texture2D));
        if(RoadObjectScript.objectStrings == null){
        RoadObjectScript.objectStrings = new string[3];
        RoadObjectScript.objectStrings[0] = "Road Object"; RoadObjectScript.objectStrings[1]="River Object";RoadObjectScript.objectStrings[2]="Procedural Mesh Object";
        }
        obj = tr;
        OCDQDOOOCO = new OQQCODDDQQ();
        OODQDDOOQC = obj.GetComponent<RoadObjectScript>();
        foreach(Transform child in obj){
        if(child.name == "Markers") OODDOCQDQO = child;
        }
        OQQCODDDQQ.terrainList.Clear();
        Terrain[] terrains = (Terrain[])FindObjectsOfType(typeof(Terrain));
        foreach(Terrain terrain in terrains) {
        Terrains t = new Terrains();
        t.terrain = terrain;
        if(!terrain.gameObject.GetComponent<EasyRoads3DTerrainID>()){
        EasyRoads3DTerrainID terrainscript = (EasyRoads3DTerrainID)terrain.gameObject.AddComponent<EasyRoads3DTerrainID>();
        string id = UnityEngine.Random.Range(100000000,999999999).ToString();
        terrainscript.terrainid = id;
        t.id = id;
        }else{
        t.id = terrain.gameObject.GetComponent<EasyRoads3DTerrainID>().terrainid;
        }
        OCDQDOOOCO.OCCCOCQQCO(t);
        }
        ODDQOOCDOC.OCCCOCQQCO();
        if(roadMaterialEdit == null){
        roadMaterialEdit = (Material)Resources.Load("materials/roadMaterialEdit", typeof(Material));
        }
        if(objectType == 0 && GameObject.Find(gameObject.name + "/road") == null){
        GameObject road = new GameObject("road");
        road.transform.parent = transform;
        }

        OCDQDOOOCO.OCOCQCCDCD(obj, ODQCOQQQOC, OODQDDOOQC.roadWidth, surfaceOpacity, out OQODOQQDDQ, out indent, applyAnimation, waveSize, waveHeight);
        OCDQDOOOCO.OQCOOCDOCO = OQCOOCDOCO;
        OCDQDOOOCO.OCQOCOCDOQ = OCQOCOCDOQ;
        OCDQDOOOCO.OdQODQOD = OdQODQOD + 1;
        OCDQDOOOCO.OOQQQDOD = OOQQQDOD;
        OCDQDOOOCO.OOQQQDODOffset = OOQQQDODOffset;
        OCDQDOOOCO.OOQQQDODLength = OOQQQDODLength;
        OCDQDOOOCO.objectType = objectType;
        OCDQDOOOCO.snapY = snapY;
        OCDQDOOOCO.terrainRendered = OQDDDOQQOC;
        OCDQDOOOCO.handleVegetation = handleVegetation;
        OCDQDOOOCO.raise = raise;
        OCDQDOOOCO.roadResolution = roadResolution;
        OCDQDOOOCO.multipleTerrains = multipleTerrains;
        OCDQDOOOCO.editRestore = editRestore;
        OCDQDOOOCO.roadMaterialEdit = roadMaterialEdit;
        OCDQDOOOCO.renderRoad = renderRoad;
        if(backupLocation == 0)OQDCCCDDCD.backupFolder = "/EasyRoads3D";
        else OQDCCCDDCD.backupFolder =  "/Assets/EasyRoads3D/backups";

        ODODQOQO = OCDQDOOOCO.OODQDQDDCC();
        ODODQOQOInt = OCDQDOOOCO.ODOOQODCQO();

        if(OQDDDOQQOC){

        doRestore = true;
        }

        OCCCQCDCDC();

        if(arr != null || ODODQOOQ == null) OOODOQCDDD(arr, DOODQOQO, OODDQOQO);

        if(doRestore) return;
    }
Пример #35
0
    static public void OQDQQDODCD(string objectname, Transform obj, ODODDQQO so, int index, RoadObjectScript target)
    {
        Transform rootObject = null;

        foreach (Transform child1 in obj)
        {
            if (child1.name == objectname)
            {
                rootObject = child1;

                if (so.textureGUID != "")
                {
                    MeshRenderer mr  = (MeshRenderer)rootObject.transform.GetComponent(typeof(MeshRenderer));
                    Material     mat = (Material)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.textureGUID), typeof(Material));
                    mr.material = mat;
                }
            }
        }
        if (rootObject == null)
        {
            GameObject go = new GameObject(objectname);
            go.name             = objectname;
            go.transform.parent = obj;
            rootObject          = go.transform;

            go.AddComponent(typeof(MeshFilter));
            go.AddComponent(typeof(MeshRenderer));
            go.AddComponent(typeof(MeshCollider));
            go.AddComponent(typeof(sideObjectScript));
            sideObjectScript scr = (sideObjectScript)go.GetComponent(typeof(sideObjectScript));
            if (so.textureGUID != "")
            {
                MeshRenderer mr  = (MeshRenderer)go.GetComponent(typeof(MeshRenderer));
                Material     mat = (Material)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.textureGUID), typeof(Material));
                mr.material = mat;
                scr.mat     = mat;
            }
            scr.soIndex = index;
            scr.soName  = so.name;

            scr.soAlign    = int.Parse(so.align);
            scr.soUVx      = so.uvx;
            scr.soUVy      = so.uvy;
            scr.m_distance = so.m_distance;
            scr.objectType = so.objectType;
            scr.weld       = so.weld;
            scr.combine    = so.combine;
            scr.OODCQOQDDC = so.OODCQOQDDC;
            scr.m_go       = so.OCDDCOQDOD;
            if (so.OQCCDQOCQQ != "")
            {
                scr.OQCCDQOCQQ = so.OQCCDQOCQQ;
            }
            if (so.OQCCDQOCQQ != "")
            {
                scr.OOQODOQQDC = so.OOQODOQQDC;
            }
            scr.selectedRotation = so.selectedRotation;
            scr.position         = so.position;
            scr.uvInt            = so.uvType;
            scr.randomObjects    = so.randomObjects;
            scr.childOrder       = so.childOrder;
            scr.sidewaysOffset   = so.sidewaysOffset;
            scr.density          = so.density;
            scr.OOOOOCQOCO       = target;
            scr.terrainTree      = so.terrainTree;
            scr.xPosition        = so.xPosition;
            scr.yPosition        = so.yPosition;
            scr.uvYRound         = so.uvYRound;
            scr.m_collider       = so.collider;
            scr.m_tangents       = so.tangents;
        }
    }
    private static void SetWaterScript(RoadObjectScript target)
    {
        for(int i = 0; i < target.OCQOQDDDCQ.Length; i++){
        if(target.OCDQDOOOCO.road.GetComponent(target.OCQOQDDDCQ[i]) != null && i != target.selectedWaterScript)DestroyImmediate(target.OCDQDOOOCO.road.GetComponent(target.OCQOQDDDCQ[i]));
        }
        if(target.OCQOQDDDCQ[0] != "None Available!"  && target.OCDQDOOOCO.road.GetComponent(target.OCQOQDDDCQ[target.selectedWaterScript]) == null){
        UnityEngineInternal.APIUpdaterRuntimeServices.AddComponent(target.OCDQDOOOCO.road, "Assets/EasyRoads3D Free/Editor/EasyRoadsEditorMenu.cs (177,1)", target.OCQOQDDDCQ[target.selectedWaterScript]);

        }
    }
Пример #37
0
 void SetObjectScript()
 {
     objectScript = transform.parent.parent.GetComponent<RoadObjectScript>();
     if(objectScript.OOCQDCOCCQ == null){
     objectScript.ODQDOOODOD(null, null, null);
     }
 }
Пример #38
0
    private static void SetWaterScript(RoadObjectScript target)
    {
        for(int i = 0; i < target.OCCCCCOOOQ.Length; i++){
        if(target.OQCODQCQOC.road.GetComponent(target.OCCCCCOOOQ[i]) != null && i != target.selectedWaterScript)DestroyImmediate(target.OQCODQCQOC.road.GetComponent(target.OCCCCCOOOQ[i]));
        }
        if(target.OCCCCCOOOQ[0] != "None Available!"  && target.OQCODQCQOC.road.GetComponent(target.OCCCCCOOOQ[target.selectedWaterScript]) == null){
        target.OQCODQCQOC.road.AddComponent(target.OCCCCCOOOQ[target.selectedWaterScript]);

        }
    }
Пример #39
0
    static public void OQODOCQQCO(OOCOOCQQDQ OQQCDCOCQO, Transform obj, List <SideObjectParams> param, bool OOQDOOQQ, int[] activeODODDQQO, float raise, RoadObjectScript target, Transform mySideObject)
    {
        List <OCQODDOCQD> pnts = target.OQQCDCOCQO.ODDODQOCQO;
        List <ODODDQQO>   arr  = OCOQDQCQDO.OOOCODQOOQ(false);

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

            GameObject goi = null;
            if (so.OCDDCOQDOD != "")
            {
                goi = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OCDDCOQDOD), typeof(GameObject));
            }
            GameObject ODQDDDDCQD = null;
            if (so.OQCCDQOCQQ != "")
            {
                ODQDDDDCQD = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OQCCDQOCQQ), typeof(GameObject));
            }
            GameObject OQQDQOOCQO = null;
            if (so.OOQODOQQDC != "")
            {
                OQQDQOOCQO = (GameObject)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.OOQODOQQDC), typeof(GameObject));
            }
            OCOQDQCQDO.OOCDCQCCCO(so, pnts, obj, OQQCDCOCQO, param, OOQDOOQQ, activeODODDQQO[i], raise, goi, ODQDDDDCQD, OQQDQOOCQO);
            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)
                        {
                            OCOQDQCQDO.OOQQCDCODQ(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)));
                }
            }
        }
    }
Пример #40
0
    public static void OQDQQDODCD(string objectname, Transform obj, ODODDQQO so, int index, RoadObjectScript target)
    {
        Transform rootObject = null;

        foreach(Transform child1 in obj)
        {
        if(child1.name == objectname){
        rootObject = child1;

        if(so.textureGUID !=""){
        MeshRenderer mr  = (MeshRenderer)rootObject.transform.GetComponent(typeof(MeshRenderer));
        Material mat =  (Material)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.textureGUID), typeof(Material));
        mr.material = mat;

        }
        }
        }
        if(rootObject == null){
        GameObject go  =  new GameObject(objectname);
        go.name = objectname;
        go.transform.parent = obj;
        rootObject = go.transform;

        go.AddComponent(typeof(MeshFilter));
        go.AddComponent(typeof(MeshRenderer));
        go.AddComponent(typeof(MeshCollider));
        go.AddComponent(typeof(sideObjectScript));
        sideObjectScript scr = (sideObjectScript)go.GetComponent(typeof(sideObjectScript));
        if(so.textureGUID !=""){
        MeshRenderer mr = (MeshRenderer)go.GetComponent(typeof(MeshRenderer));
        Material mat =  (Material)AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(so.textureGUID), typeof(Material));
        mr.material = mat;
        scr.mat = mat;
        }
        scr.soIndex = index;
        scr.soName = so.name;

        scr.soAlign = int.Parse(so.align);
        scr.soUVx = so.uvx;
        scr.soUVy = so.uvy;
        scr.m_distance = so.m_distance;
        scr.objectType = so.objectType;
        scr.weld = so.weld;
        scr.combine = so.combine;
        scr.OODCQOQDDC = so.OODCQOQDDC;
        scr.m_go = so.OCDDCOQDOD;
        if(so.OQCCDQOCQQ != ""){
        scr.OQCCDQOCQQ = so.OQCCDQOCQQ;

        }
        if(so.OQCCDQOCQQ != ""){
        scr.OOQODOQQDC = so.OOQODOQQDC;

        }
        scr.selectedRotation = so.selectedRotation;
        scr.position = so.position;
        scr.uvInt = so.uvType;
        scr.randomObjects = so.randomObjects;
        scr.childOrder = so.childOrder;
        scr.sidewaysOffset = so.sidewaysOffset;
        scr.density = so.density;
        scr.OOOOOCQOCO = target;
        scr.terrainTree = so.terrainTree;
        scr.xPosition = so.xPosition;
        scr.yPosition = so.yPosition;
        scr.uvYRound = so.uvYRound;
        scr.m_collider = so.collider;
        scr.m_tangents = so.tangents;

        }
    }
Пример #41
0
    public void OODDQODDCC(Vector3 pos)
    {
        string str;

        if (!this.displayRoad)
        {
            this.displayRoad = true;
            this.OOQQCODOCD.OODDDCQCCQ(this.displayRoad, this.OODDDCQCOC);
        }
        pos.y = pos.y + this.OODCCOODCC.raiseMarkers;
        if (this.forceY && this.ODOQDQOO != null)
        {
            float   single   = Vector3.Distance(pos, this.ODOQDQOO.transform.position);
            Vector3 oDOQDQOO = this.ODOQDQOO.transform.position;
            pos.y = oDOQDQOO.y + this.yChange * (single / 100f);
        }
        else if (this.forceY && this.markers == 0)
        {
            this.lastY = pos.y;
        }
        GameObject gameObject = null;

        gameObject = (this.ODOQDQOO == null ? (GameObject)UnityEngine.Object.Instantiate(UnityEngine.Resources.Load("marker", typeof(GameObject))) : (GameObject)UnityEngine.Object.Instantiate(this.ODOQDQOO));
        Transform oODDDCQCOC = gameObject.transform;

        oODDDCQCOC.position = pos;
        oODDDCQCOC.parent   = this.OODDDCQCOC;
        RoadObjectScript roadObjectScript = this;

        roadObjectScript.markers = roadObjectScript.markers + 1;
        if (this.markers >= 10)
        {
            str = (this.markers >= 100 ? string.Concat("Marker0", this.markers.ToString()) : string.Concat("Marker00", this.markers.ToString()));
        }
        else
        {
            str = string.Concat("Marker000", this.markers.ToString());
        }
        oODDDCQCOC.gameObject.name = str;
        MarkerScript component = oODDDCQCOC.GetComponent <MarkerScript>();

        component.OOCCDCOQCQ   = false;
        component.objectScript = this.obj.GetComponent <RoadObjectScript>();
        if (this.ODOQDQOO == null)
        {
            component.waterLevel = this.OODCCOODCC.waterLevel;
            component.floorDepth = this.OODCCOODCC.floorDepth;
            component.ri         = this.OODCCOODCC.indent;
            component.li         = this.OODCCOODCC.indent;
            component.rs         = this.OODCCOODCC.surrounding;
            component.ls         = this.OODCCOODCC.surrounding;
            component.tension    = 0.5f;
            if (this.objectType == 1)
            {
                pos.y = pos.y - this.waterLevel;
                oODDDCQCOC.position = pos;
            }
        }
        if (this.objectType == 2 && component.surface != null)
        {
            component.surface.gameObject.SetActive(false);
        }
        this.ODOQDQOO = oODDDCQCOC.gameObject;
        if (this.markers > 1)
        {
            this.OCOOCODDOC(this.OODCCOODCC.geoResolution, false, false);
            if (this.materialType == 0)
            {
                this.OOQQCODOCD.OOQOOCDQOD(this.materialType);
            }
        }
    }
Пример #42
0
 public void ODOCOQCCOC(Transform tr, ArrayList arr, string[] DOODQOQO, string[] OODDQOQO)
 {
     RoadObjectScript.version = "2.4.6";
     RoadObjectScript.OODCDOQDCC = (GUISkin)UnityEngine.Resources.Load("ER3DSkin", typeof(GUISkin));
     RoadObjectScript.OQOOODODQD = (Texture2D)UnityEngine.Resources.Load("ER3DLogo", typeof(Texture2D));
     if (RoadObjectScript.objectStrings == null)
     {
         RoadObjectScript.objectStrings = new string[] { "Road Object", "River Object", "Procedural Mesh Object" };
     }
     this.obj = tr;
     this.OOQQCODOCD = new OQCDQQDQCC();
     this.OODCCOODCC = this.obj.GetComponent<RoadObjectScript>();
     IEnumerator enumerator = this.obj.GetEnumerator();
     try
     {
         while (enumerator.MoveNext())
         {
             Transform current = (Transform)enumerator.Current;
             if (current.name != "Markers")
             {
                 continue;
             }
             this.OODDDCQCOC = current;
         }
     }
     finally
     {
         IDisposable disposable = enumerator as IDisposable;
         if (disposable == null)
         {
         }
         disposable.Dispose();
     }
     OQCDQQDQCC.terrainList.Clear();
     Terrain[] terrainArray = (Terrain[])UnityEngine.Object.FindObjectsOfType(typeof(Terrain));
     for (int i = 0; i < (int)terrainArray.Length; i++)
     {
         Terrain terrain = terrainArray[i];
         Terrains component = new Terrains()
         {
             terrain = terrain
         };
         if (terrain.gameObject.GetComponent<EasyRoads3DTerrainID>())
         {
             component.id = terrain.gameObject.GetComponent<EasyRoads3DTerrainID>().terrainid;
         }
         else
         {
             EasyRoads3DTerrainID easyRoads3DTerrainID = (EasyRoads3DTerrainID)terrain.gameObject.AddComponent("EasyRoads3DTerrainID");
             string str = UnityEngine.Random.Range(100000000, 999999999).ToString();
             easyRoads3DTerrainID.terrainid = str;
             component.id = str;
         }
         this.OOQQCODOCD.OCDQQCDOQO(component);
     }
     ODCDDDDQQD.OCDQQCDOQO();
     if (this.roadMaterialEdit == null)
     {
         this.roadMaterialEdit = (Material)UnityEngine.Resources.Load("materials/roadMaterialEdit", typeof(Material));
     }
     if (this.objectType == 0 && GameObject.Find(string.Concat(base.gameObject.name, "/road")) == null)
     {
         (new GameObject("road")).transform.parent = base.transform;
     }
     this.OOQQCODOCD.OODQOQCDCQ(this.obj, RoadObjectScript.OCQCDDDOCC, this.OODCCOODCC.roadWidth, this.surfaceOpacity, out this.OOCCDCOQCQ, out this.indent, this.applyAnimation, this.waveSize, this.waveHeight);
     this.OOQQCODOCD.ODDQCCDCDC = this.ODDQCCDCDC;
     this.OOQQCODOCD.OOCQDOOCQD = this.OOCQDOOCQD;
     this.OOQQCODOCD.OdQODQOD = this.OdQODQOD + 1;
     this.OOQQCODOCD.OOQQQDOD = this.OOQQQDOD;
     this.OOQQCODOCD.OOQQQDODOffset = this.OOQQQDODOffset;
     this.OOQQCODOCD.OOQQQDODLength = this.OOQQQDODLength;
     this.OOQQCODOCD.objectType = this.objectType;
     this.OOQQCODOCD.snapY = this.snapY;
     this.OOQQCODOCD.terrainRendered = this.ODODCOCCDQ;
     this.OOQQCODOCD.handleVegetation = this.handleVegetation;
     this.OOQQCODOCD.raise = this.raise;
     this.OOQQCODOCD.roadResolution = this.roadResolution;
     this.OOQQCODOCD.multipleTerrains = this.multipleTerrains;
     this.OOQQCODOCD.editRestore = this.editRestore;
     this.OOQQCODOCD.roadMaterialEdit = this.roadMaterialEdit;
     if (RoadObjectScript.backupLocation != 0)
     {
         OOCDQCOODC.backupFolder = "/Assets/EasyRoads3D/backups";
     }
     else
     {
         OOCDQCOODC.backupFolder = "/EasyRoads3D";
     }
     this.ODODQOQO = this.OOQQCODOCD.OCDODCOCOC();
     this.ODODQOQOInt = this.OOQQCODOCD.OCCQOQCQDO();
     if (this.ODODCOCCDQ)
     {
         this.doRestore = true;
     }
     this.OOQODQOCOC();
     if (arr != null || RoadObjectScript.ODODQOOQ == null)
     {
         this.OOOOOOODCD(arr, DOODQOQO, OODDQOQO);
     }
     if (this.doRestore)
     {
         return;
     }
 }
    void SetObjectScript()
    {
        objectScript = transform.parent.parent.GetComponent<RoadObjectScript>();
        if(objectScript.OOCQCQDOQO == null){

        List<ODODDQQO> arr = ODDQQCODQO.OOQDQCCQDQ(false);
        objectScript.OCDCQQQCCQ(arr, ODDQQCODQO.ODQQOCCOQC(arr), ODDQQCODQO.OCQCOCOODD(arr));

        }
    }
Пример #44
0
    void SetObjectScript()
    {
        objectScript = transform.parent.parent.GetComponent<RoadObjectScript>();
        if(objectScript.OQQCDCOCQO == null){

        List<ODODDQQO> arr = OCOQDQCQDO.OOOCODQOOQ(false);
        objectScript.OQDCDCOODC(arr, OCOQDQCQDO.ODOCQDDCCD(arr), OCOQDQCQDO.ODCOCCOQCQ(arr));

        }
    }
    public void ODOODDDODD(Transform tr, List <ODODDQQO> arr, String[] DOODQOQO, String[] OODDQOQO)
    {
        version    = "2.5.4";
        OODCOCOOCC = (GUISkin)Resources.Load("ER3DSkin", typeof(GUISkin));


        OQQOCCQOOC = (Texture2D)Resources.Load("ER3DLogo", typeof(Texture2D));
        if (RoadObjectScript.objectStrings == null)
        {
            RoadObjectScript.objectStrings    = new string[3];
            RoadObjectScript.objectStrings[0] = "Road Object"; RoadObjectScript.objectStrings[1] = "River Object"; RoadObjectScript.objectStrings[2] = "Procedural Mesh Object";
        }
        obj        = tr;
        OQCODQCQOC = new OCQCDCCDOC();
        ODOOCQDQCD = obj.GetComponent <RoadObjectScript>();
        foreach (Transform child in obj)
        {
            if (child.name == "Markers")
            {
                OCCQOQDDDO = child;
            }
        }
        RoadObjectScript[] rscrpts = (RoadObjectScript[])FindObjectsOfType(typeof(RoadObjectScript));
        OCQCDCCDOC.terrainList.Clear();
        Terrain[] terrains = (Terrain[])FindObjectsOfType(typeof(Terrain));
        foreach (Terrain terrain in terrains)
        {
            Terrains t = new Terrains();
            t.terrain = terrain;
            if (!terrain.gameObject.GetComponent <EasyRoads3DTerrainID>())
            {
                EasyRoads3DTerrainID terrainscript = (EasyRoads3DTerrainID)terrain.gameObject.AddComponent("EasyRoads3DTerrainID");
                string id = UnityEngine.Random.Range(100000000, 999999999).ToString();
                terrainscript.terrainid = id;
                t.id = id;
            }
            else
            {
                t.id = terrain.gameObject.GetComponent <EasyRoads3DTerrainID>().terrainid;
            }
            OQCODQCQOC.OQOOCOCDDQ(t);
        }
        OQCDOODQQQ.OQOOCOCDDQ();
        if (roadMaterialEdit == null)
        {
            roadMaterialEdit = (Material)Resources.Load("materials/roadMaterialEdit", typeof(Material));
        }
        if (objectType == 0 && GameObject.Find(gameObject.name + "/road") == null)
        {
            GameObject road = new GameObject("road");
            road.transform.parent = transform;
        }

        OQCODQCQOC.OQQDOCCQCD(obj, OCDQCCOCOC, ODOOCQDQCD.roadWidth, surfaceOpacity, out ODQQCDQDQD, out indent, applyAnimation, waveSize, waveHeight);
        OQCODQCQOC.ODDQODQCOO       = ODDQODQCOO;
        OQCODQCQOC.OCOCODCCDD       = OCOCODCCDD;
        OQCODQCQOC.OdQODQOD         = OdQODQOD + 1;
        OQCODQCQOC.OOQQQDOD         = OOQQQDOD;
        OQCODQCQOC.OOQQQDODOffset   = OOQQQDODOffset;
        OQCODQCQOC.OOQQQDODLength   = OOQQQDODLength;
        OQCODQCQOC.objectType       = objectType;
        OQCODQCQOC.snapY            = snapY;
        OQCODQCQOC.terrainRendered  = OOCQCCQOQQ;
        OQCODQCQOC.handleVegetation = handleVegetation;
        OQCODQCQOC.raise            = raise;
        OQCODQCQOC.roadResolution   = roadResolution;
        OQCODQCQOC.multipleTerrains = multipleTerrains;
        OQCODQCQOC.editRestore      = editRestore;
        OQCODQCQOC.roadMaterialEdit = roadMaterialEdit;
        OQCODQCQOC.renderRoad       = renderRoad;
        OQCODQCQOC.rscrpts          = rscrpts.Length;

        if (backupLocation == 0)
        {
            OOCDCOQDQC.backupFolder = "/EasyRoads3D";
        }
        else
        {
            OOCDCOQDQC.backupFolder = "/Assets/EasyRoads3D/backups";
        }

        ODODQOQO    = OQCODQCQOC.ODDDCOQDCC();
        ODODQOQOInt = OQCODQCQOC.OCDDCDCCQD();


        if (OOCQCCQOQQ)
        {
            doRestore = true;
        }


        ODDCCCQCOC();

        if (arr != null || ODODQOOQ == null)
        {
            OOCQQQQQQQ(arr, DOODQOQO, OODDQOQO);
        }


        if (doRestore)
        {
            return;
        }
    }
Пример #46
0
    private static void OOQCOOQQDO(RoadObjectScript target)
    {
        EditorUtility.DisplayProgressBar("Build EasyRoads3D Object - " + target.gameObject.name,"Initializing", 0);

        RoadObjectScript[] scripts = (RoadObjectScript[])FindObjectsOfType(typeof(RoadObjectScript));
        List<Transform> rObj = new List<Transform>();

        #if UNITY_4_6
        #elif UNITY_4_5
        #elif UNITY_4_3
        #else
        Undo.RegisterUndo(OQCDOODQQQ.terrain.terrainData, "EasyRoads3D Terrain leveling");
        #endif
        foreach(RoadObjectScript script in scripts) {
        if(script.transform != target.transform) rObj.Add(script.transform);
        }
        if(target.ODODQOQO == null){
        target.ODODQOQO = target.OQCODQCQOC.ODDDCOQDCC();
        target.ODODQOQOInt = target.OQCODQCQOC.OCDDCDCCQD();
        }
        target.OQDODQOODQ(0.5f, true, false);

        List<tPoint> hitOCOCCDOQQD = target.OQCODQCQOC.OQCCCOQCOO(Vector3.zero, target.raise, target.obj, target.OOQDOOQQ, rObj, target.handleVegetation);
        List<Vector3> changeArr = new List<Vector3>();
        float stepsf = Mathf.Floor(hitOCOCCDOQQD.Count / 10);
        int steps = Mathf.RoundToInt(stepsf);
        for(int i = 0; i < 10;i++){
        changeArr = target.OQCODQCQOC.OOCDDDQQQD(hitOCOCCDOQQD, i * steps, steps, changeArr);
        EditorUtility.DisplayProgressBar("Build EasyRoads3D Object - " + target.gameObject.name,"Updating Terrain", i * 10);
        }

        changeArr = target.OQCODQCQOC.OOCDDDQQQD(hitOCOCCDOQQD, 10 * steps, hitOCOCCDOQQD.Count - (10 * steps), changeArr);
        target.OQCODQCQOC.OQCQCCCOOQ(changeArr, rObj);

        target.OQCCOODCDO();
        EditorUtility.ClearProgressBar();
    }