public IEnumerator LoadAsset() { WWW www = WWW.LoadFromCacheOrDownload(CustomObjectsServer.AssetPath, 1); yield return(www); if (www.error != null) { Logger.LogError("Error loading asset. " + www.error); //return; } bundle = www.assetBundle; www.Dispose(); GameObject ourobject = new GameObject(); LoadObjectFromBundle handler = ourobject.AddComponent <LoadObjectFromBundle>(); handler.Create("personal_transport_helicopter", new Vector3(6592f, 380f, -2653f), new Quaternion(0, 0, 0, 0), new Vector3(1, 1, 1)); UnityEngine.Object.DontDestroyOnLoad(ourobject); ourobject = new GameObject(); handler = ourobject.AddComponent <LoadObjectFromBundle>(); handler.Create("militarycar", new Vector3(6592f, 380f, -2653f), new Quaternion(0, 0, 0, 0), new Vector3(1, 1, 1)); UnityEngine.Object.DontDestroyOnLoad(ourobject); bundle.Unload(false); Logger.Log("Objects loaded."); }
private void LoadAllSetObjects() { if (!File.Exists(RustBuster2016.API.Hooks.GameDirectory + "\\RB_Data\\WorldEditor\\ClientSideAssets.txt")) { return; } foreach (string line in File.ReadAllLines(RustBuster2016.API.Hooks.GameDirectory + "\\RB_Data\\WorldEditor\\ClientSideAssets.txt")) { if (string.IsNullOrEmpty(line)) { continue; } try { string[] pares = line.Split(':'); var nombre = pares[0]; var loc = pares[1]; var qua = pares[2]; var siz = pares[3]; // Position string[] locsplit = loc.ToString().Split(','); float posx = float.Parse(locsplit[0]); float posy = float.Parse(locsplit[1]); float posz = float.Parse(locsplit[2]); // Quaternion string[] quasplit = qua.ToString().Split(','); float quax = float.Parse(quasplit[0]); float quay = float.Parse(quasplit[1]); float quaz = float.Parse(quasplit[2]); float quaw = float.Parse(quasplit[3]); // Size string[] sizsplit = siz.ToString().Split(','); float sizx = float.Parse(sizsplit[0]); float sizy = float.Parse(sizsplit[1]); float sizz = float.Parse(sizsplit[2]); GameObject TempGameObject = new GameObject(); LoadObjectFromBundle SpawnedObject = TempGameObject.AddComponent <LoadingHandler.LoadObjectFromBundle>(); SpawnedObject.Create(nombre, new Vector3(posx, posy, posz), new Quaternion(quax, quay, quaz, quaw), new Vector3(sizx, sizy, sizz)); UnityEngine.Object.DontDestroyOnLoad(TempGameObject); } catch { RustBuster2016.API.Hooks.LogData("Error", "Failure to load: " + line); } } }
private void LoadAllSetObjects() { foreach (string line in File.ReadAllLines(Util.GetRootFolder() + "\\Save\\WorldEditorServer\\ClientSideAssets.txt")) { if (string.IsNullOrEmpty(line)) { continue; } try { string[] pares = line.Split(':'); var nombre = pares[0]; var loc = pares[1]; var qua = pares[2]; var siz = pares[3]; // Position string[] locsplit = loc.ToString().Split(','); float posx = float.Parse(locsplit[0]); float posy = float.Parse(locsplit[1]); float posz = float.Parse(locsplit[2]); // Quaternion string[] quasplit = qua.ToString().Split(','); float quax = float.Parse(quasplit[0]); float quay = float.Parse(quasplit[1]); float quaz = float.Parse(quasplit[2]); float quaw = float.Parse(quasplit[3]); // Size string[] sizsplit = siz.ToString().Split(','); float sizx = float.Parse(sizsplit[0]); float sizy = float.Parse(sizsplit[1]); float sizz = float.Parse(sizsplit[2]); GameObject TempGameObject = new GameObject(); LoadObjectFromBundle SpawnedObject = TempGameObject.AddComponent <LoadingHandler.LoadObjectFromBundle>(); SpawnedObject.Create(nombre, new Vector3(posx, posy, posz), new Quaternion(quax, quay, quaz, quaw), new Vector3(sizx, sizy, sizz)); UnityEngine.Object.DontDestroyOnLoad(TempGameObject); } catch { Logger.LogError("[WorldEditorServer] Failure to load: " + line); } } }
public IEnumerator LoadAsset() { WWW www = WWW.LoadFromCacheOrDownload(WorldEditor.AssetPath, 1); yield return(www); if (www.error != null) { RustBuster2016.API.Hooks.LogData("WorldEditor", "www: " + www.error); //return; } bundle = www.assetBundle; www.Dispose(); ourobject = new GameObject(); Spawner = ourobject.AddComponent <LoadObjectFromBundle>(); UnityEngine.Object.DontDestroyOnLoad(ourobject); foreach (UnityEngine.Object item in bundle.LoadAll()) { if (item.name.ToLower().Contains("mat") || item.name.ToLower().Contains("avatar") || item.name.ToLower().Contains("img")) { continue; } GameObject go = new GameObject(); LoadObjectFromBundle lo = go.AddComponent <LoadObjectFromBundle>(); // Test if we can create the object. If not, it's probably not a prefab so we don't need it. bool b = lo.Create(item.name, new Vector3(0, 0, 0), new Quaternion(0, 0, 0, 0), new Vector3(1, 1, 1)); if (!b) { UnityEngine.Object.Destroy(go); continue; } UnityEngine.Object.Destroy(lo.ObjectInstantiate); UnityEngine.Object.Destroy(go); if (!WorldEditor.Instance.Prefabs.Contains(item.name)) { WorldEditor.Instance.Prefabs.Add(item.name); } } LoadAllSetObjects(); WorldEditor.Instance.Editor = WorldEditor.Instance.MainHolder.AddComponent <Editor>(); }
private void LoadAllSetObjects(string bundle) { Stopwatch watch = null; if (WorldEditorServer.PerformanceLog) { watch = new Stopwatch(); } foreach (string line in File.ReadAllLines(Util.GetRootFolder() + "\\Save\\WorldEditorServer\\ClientSideAssets.txt")) { if (WorldEditorServer.PerformanceLog) { watch.Start(); } if (string.IsNullOrEmpty(line)) { continue; } try { string[] pares = line.Split(':'); if (pares[0] != bundle) { continue; } var nombre = pares[1]; var loc = pares[2]; var qua = pares[3]; var siz = pares[4]; // Position string[] locsplit = loc.ToString().Split(','); float posx = float.Parse(locsplit[0]); float posy = float.Parse(locsplit[1]); float posz = float.Parse(locsplit[2]); // Quaternion string[] quasplit = qua.ToString().Split(','); float quax = float.Parse(quasplit[0]); float quay = float.Parse(quasplit[1]); float quaz = float.Parse(quasplit[2]); float quaw = float.Parse(quasplit[3]); // Size string[] sizsplit = siz.ToString().Split(','); float sizx = float.Parse(sizsplit[0]); float sizy = float.Parse(sizsplit[1]); float sizz = float.Parse(sizsplit[2]); GameObject TempGameObject = new GameObject(); LoadObjectFromBundle SpawnedObject = TempGameObject.AddComponent <LoadingHandler.LoadObjectFromBundle>(); SpawnedObject.Create(nombre, bundle, new Vector3(posx, posy, posz), new Quaternion(quax, quay, quaz, quaw), new Vector3(sizx, sizy, sizz)); UnityEngine.Object.DontDestroyOnLoad(TempGameObject); if (WorldEditorServer.PerformanceLog) { watch.Stop(); WorldEditorServer.AddPerfLog("Spawning asset \"" + nombre + "\" took " + watch.ElapsedMilliseconds / 1000f + "s"); watch.Reset(); } } catch { Logger.LogError("[WorldEditorServer] Failure to load: " + line); } } }