private static Canvas Run()
        {
            var newCanvasStuff = QuestingAssets.GetAsset("questingbundle", "assets/questing/techtree/canvas.prefab");

            GameObject newCanvas = new GameObject("Canvas");
            Canvas     c         = newCanvas.AddComponent <Canvas>();

            c.renderMode = RenderMode.ScreenSpaceOverlay;
            newCanvas.AddComponent <CanvasScaler>();
            newCanvas.AddComponent <GraphicRaycaster>();
            GameObject panel = new GameObject("Panel");

            panel.AddComponent <CanvasRenderer>();
            UnityEngine.UI.Image i = panel.AddComponent <UnityEngine.UI.Image>();

            RectTransform rt = panel.GetComponent(typeof(RectTransform)) as RectTransform;

            rt.sizeDelta = new Vector2(1024, 910);

            QuestLog.Log("[Questing Update | Tech Tree]: width: " + rt.rect.width + ", height: " + rt.rect.height);

            foreach (KeyValuePair <Schematic, int> obj in questingSchematics)
            {
                QuestLog.Log("[Questing Update | Tech Tree]: " + obj.Key.name);
            }

            i.sprite = newCanvasStuff.GetComponentInChildren <UnityEngine.UI.Image>().sprite;
            panel.transform.SetParent(newCanvas.transform, false);
            return(c);
        }
Exemple #2
0
        private void ModifyCoalModule()
        {
            var cubePrefab  = QuestingAssets.GetAsset("event.candle", "assets/chaos/candlefab.prefab");
            var newMaterial = QuestingAssets.GetMaterial("event.candle", "assets/chaos/candle.mat");
            var coalItem    = GameResources.Instance.Items.FirstOrDefault(s => s.AssetId == QuestingGUIDs.CoalPowerModuleT1);

            if (coalItem == null)
            {
                QuestLog.Log("CoalPowerModuleT1 not found.");
                return;
            }

            var coalTopPrefab = coalItem.Prefabs[1];

            var parent = new GameObject();

            parent.SetActive(false);
            DontDestroyOnLoad(parent);

            var coalTopPrefabCopy = Instantiate(coalTopPrefab, parent.transform);
            var cubePrefabCopy    = Instantiate(cubePrefab, coalTopPrefabCopy.transform);

            // Get the meshFilter from the instanced cube prefab.
            var cubeMeshFilter = cubePrefabCopy.GetComponentsInChildren <MeshFilter>().First();

            if (cubeMeshFilter == null)
            {
                QuestLog.Log("cubeMeshFilter (Cylinder9648) not found.");
                return;
            }

            // For each animator in coalTopPrefabCopy.
            foreach (var animator in coalTopPrefabCopy.GetComponentsInChildren <Animator>())
            {
                // For each meshFilter in animator with name == "Cylinder9648".
                foreach (var meshFilter in animator.GetComponentsInChildren <MeshFilter>().Where(meshFilter => meshFilter.name == "Cylinder9648"))
                {
                    meshFilter.mesh = cubeMeshFilter.mesh;
                }

                // For each meshRenderer in animator with name == "Cylinder9648".
                foreach (var meshRenderer in animator.GetComponentsInChildren <MeshRenderer>().Where(meshRenderer => meshRenderer.name == "Cylinder9648"))
                {
                    meshRenderer.material.mainTexture             = newMaterial.mainTexture;
                    meshRenderer.material.globalIlluminationFlags = newMaterial.globalIlluminationFlags;
                }

                foreach (var objectlist in coalTopPrefab.GetComponentsInChildren <Transform>())
                {
                    foreach (var transformMesh in objectlist.GetComponentsInChildren <MeshRenderer>().Where(transformMesh => transformMesh.name == "Cylinder9648"))
                    {
                        transformMesh.material = newMaterial;
                    }
                }
            }
            cubePrefabCopy.DestroyAuto();
            coalItem.Prefabs[1] = coalTopPrefabCopy;
        }
        public MainGUI()
        {
            var newCanvasStuff = QuestingAssets.GetAsset("questingbundle", "assets/questing/techtree/canvas.prefab");

            DefaultControls.Resources uiResources = new DefaultControls.Resources();
            //Set the Panel Background Image someBgSprite;
            uiResources.background = newCanvasStuff.GetComponentInChildren <Image>().sprite;
            GameObject uiPanel = DefaultControls.CreatePanel(uiResources);

            uiPanel.transform.SetParent(canvas.transform, false);
        }
Exemple #4
0
        private void ModifyMaterials(GUID builder, string assetBundle, string asset, string meshName, int prefabIndex)
        {
            var newMaterial = QuestingAssets.GetMaterial(assetBundle, asset);
            var itemthing   = GameResources.Instance.Items.FirstOrDefault(s => s.AssetId == builder);
            var prefab      = itemthing.Prefabs[prefabIndex];

            foreach (var obj in prefab.GetComponentsInChildren <MeshRenderer>())
            {
                if (obj.name == meshName)
                {
                    obj.material = newMaterial;
                }
            }
        }
Exemple #5
0
        private void ModifyModuleMesh(string assetBundle, string prefabAsset, string matAsset, string meshFilterName, string meshRenderName, string transformMeshName, GUID baseItem)
        {
            var cubePrefab  = QuestingAssets.GetAsset(assetBundle, prefabAsset);
            var newMaterial = QuestingAssets.GetMaterial(assetBundle, matAsset);
            var coalItem    = GameResources.Instance.Items.FirstOrDefault(s => s.AssetId == baseItem);

            if (coalItem == null)
            {
                QuestLog.Log("Module not found.");
                return;
            }

            var coalTopPrefab = coalItem.Prefabs[0];

            var parent = new GameObject();

            parent.SetActive(false);
            DontDestroyOnLoad(parent);
            parent.transform.position = new Vector3(100.0f, 0.0f, 0.0f);

            var coalTopPrefabCopy = Instantiate(coalTopPrefab, parent.transform);
            var cubePrefabCopy    = Instantiate(cubePrefab, coalTopPrefabCopy.transform);

            // Get the meshFilter from the instanced cube prefab.
            var cubeMeshFilter = cubePrefabCopy.GetComponentsInChildren <MeshFilter>().First();

            if (cubeMeshFilter == null)
            {
                QuestLog.Log("cubeMeshFilter (Cylinder9648) not found.");
                return;
            }

            // For each animator in coalTopPrefabCopy.
            foreach (var animator in coalTopPrefabCopy.GetComponentsInChildren <Animator>())
            {
                // For each meshFilter in animator with name == "Cylinder9648".
                foreach (var meshFilter in animator.GetComponentsInChildren <MeshFilter>().Where(meshFilter => meshFilter.name == meshFilterName))
                {
                    meshFilter.mesh = cubeMeshFilter.mesh;
                }

                // For each meshRenderer in animator with name == "Cylinder9648".
                foreach (var meshRenderer in animator.GetComponentsInChildren <MeshRenderer>().Where(meshRenderer => meshRenderer.name == meshRenderName))
                {
                    meshRenderer.material             = newMaterial;
                    meshRenderer.material.shader      = newMaterial.shader;
                    meshRenderer.material.mainTexture = newMaterial.mainTexture;
                    foreach (var objthing in meshRenderer.materials)
                    {
                        //QuestLog.Log("" + objthing);
                    }
                }

                foreach (var objectlist in coalTopPrefab.GetComponentsInChildren <Transform>())
                {
                    foreach (var transformMesh in objectlist.GetComponentsInChildren <MeshRenderer>().Where(transformMesh => transformMesh.name == transformMeshName))
                    {
                        transformMesh.material             = newMaterial;
                        transformMesh.material.shader      = newMaterial.shader;
                        transformMesh.material.mainTexture = newMaterial.mainTexture;
                    }
                }
            }
            cubePrefabCopy.DestroyAuto();
            coalItem.Prefabs[0] = coalTopPrefabCopy;

            foreach (var obj in coalItem.Prefabs[0].GetComponentsInChildren <Transform>())
            {
                if (obj.name == transformMeshName)
                {
                    //QuestLog.Log("" + obj);
                    obj.position = obj.position + new Vector3(-0.5f, 0.0f, 0.0f);
                }
            }
        }