Example #1
0
        private void Update()
        {
            if (InputController._GetKeyDown(AddAssetBundleKey2))
            {
                ProjectItem rootFolder = m_projectManager.Project;
                m_projectManager.AddBundledResources(rootFolder, "bundledemo",
                                                     (obj, assetName) =>
                {
                    return(true);
                },
                                                     addedItems =>
                {
                    for (int i = 0; i < addedItems.Length; ++i)
                    {
                        Debug.Log(addedItems[i].ToString() + " added");
                    }
                });
            }


            if (InputController._GetKeyDown(AddAssetBundleKey))
            {
                ProjectItem rootFolder = m_projectManager.Project;
                m_projectManager.AddBundledResource(rootFolder, "bundledemo", "monkey", addedItems =>
                {
                    for (int i = 0; i < addedItems.Length; ++i)
                    {
                        Debug.Log(addedItems[i].ToString() + " added");
                    }
                });
            }

            if (InputController._GetKeyDown(AddWithDependenciesKey))
            {
                ProjectItem        rootFolder = m_projectManager.Project;
                List <UnityObject> objects    = new List <UnityObject>();

                Material material = new Material(Shader.Find("Standard"));
                material.color = Color.yellow;

                Mesh mesh = RuntimeGraphics.CreateCubeMesh(Color.white, Vector3.zero, 1);
                mesh.name = "TestMesh";

                GameObject   go         = new GameObject();
                MeshRenderer renderer   = go.AddComponent <MeshRenderer>();
                MeshFilter   meshFilter = go.AddComponent <MeshFilter>();

                go.name = "TestGO";
                renderer.sharedMaterial = material;
                meshFilter.sharedMesh   = mesh;

                //objects.Add(material);
                //objects.Add(mesh);
                objects.Add(go);

                bool includingDependencies      = true;
                Func <UnityObject, bool> filter = o =>
                {
                    if (o is Shader)
                    {
                        return(false);
                    }
                    return(true);
                };

                m_projectManager.AddDynamicResources(rootFolder, objects.ToArray(), includingDependencies, filter, addedItems =>
                {
                    for (int i = 0; i < addedItems.Length; ++i)
                    {
                        Debug.Log(addedItems[i].ToString() + " added");
                    }

                    for (int i = 0; i < objects.Count; ++i)
                    {
                        Destroy(objects[i]);
                    }
                });
            }


            if (InputController._GetKeyDown(AddInstantiatedObjectKey))
            {
                ProjectItem        rootFolder = m_projectManager.Project;
                List <UnityObject> objects    = new List <UnityObject>();

                Material material = new Material(Shader.Find("Standard"));
                material.color = Color.yellow;

                Mesh mesh = RuntimeGraphics.CreateCubeMesh(Color.white, Vector3.zero, 1);
                mesh.name = "TestMesh";

                GameObject   go       = new GameObject();
                MeshRenderer renderer = go.AddComponent <MeshRenderer>();
                MeshFilter   filter   = go.AddComponent <MeshFilter>();

                go.name = "TestGO";
                renderer.sharedMaterial = material;
                filter.sharedMesh       = mesh;

                objects.Add(material);
                objects.Add(mesh);
                objects.Add(go);

                m_projectManager.AddDynamicResources(rootFolder, objects.ToArray(), addedItems =>
                {
                    for (int i = 0; i < addedItems.Length; ++i)
                    {
                        Debug.Log(addedItems[i].ToString() + " added");
                    }

                    for (int i = 0; i < objects.Count; ++i)
                    {
                        Destroy(objects[i]);
                    }
                });
            }

            if (InputController._GetKeyDown(KeyCode.Keypad7))
            {
                ProjectItem projectItem = m_projectManager.Project.FlattenHierarchy().Where(item => item.Name == "TestGO").FirstOrDefault();
                m_projectManager.GetOrCreateObjects(new[] { projectItem }, result =>
                {
                    Instantiate(result.First().Object);
                });
            }

            if (InputController._GetKeyDown(AddPrefabKey))
            {
                ProjectItem        rootFolder = m_projectManager.Project;
                List <UnityObject> objects    = new List <UnityObject>();

                if (Prefab != null)
                {
                    objects.Add(Prefab);
                }

                bool includingDependencies      = true;
                Func <UnityObject, bool> filter = o =>
                {
                    if (o is Shader)
                    {
                        return(false);
                    }
                    return(true);
                };

                m_projectManager.AddDynamicResources(rootFolder, objects.ToArray(), includingDependencies, filter, addedItems =>
                {
                    for (int i = 0; i < addedItems.Length; ++i)
                    {
                        Debug.Log(addedItems[i].ToString() + " added");
                    }
                });
            }

            if (InputController._GetKeyDown(AddTextureKey))
            {
                ProjectItem        rootFolder = m_projectManager.Project;
                List <UnityObject> objects    = new List <UnityObject>();

                string    path      = Application.streamingAssetsPath + "/" + ImagePath;
                Texture2D texture2D = LoadPNG(path);
                if (texture2D == null)
                {
                    Debug.LogErrorFormat("File {0} not found", path);
                    return;
                }

                texture2D.name = "TestTexture";
                objects.Add(texture2D);

                m_projectManager.AddDynamicResources(rootFolder, objects.ToArray(), addedItems =>
                {
                    for (int i = 0; i < addedItems.Length; ++i)
                    {
                        Debug.Log(addedItems[i].ToString() + " added");
                    }
                });
            }
        }