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.");
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
        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);
                }
            }
        }
Esempio n. 4
0
        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>();
        }
Esempio n. 5
0
        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);
                }
            }
        }