コード例 #1
0
ファイル: PropertiesView.cs プロジェクト: sysujack/FX-Studio
        private void AddSphereProperties(XmlNode sphereNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem(sphereNode.Name);
            inspectorComponent.CategoryAdd(sphereNode.Name, category);

            AddGeometryMaterial(sphereNode);
        }
コード例 #2
0
ファイル: PropertiesView.cs プロジェクト: sysujack/FX-Studio
        private void AddTeapotProperties(XmlNode teapotNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem(teapotNode.Name);
            inspectorComponent.CategoryAdd(teapotNode.Name, category);

            AddGeometryMaterial(teapotNode);
        }
コード例 #3
0
ファイル: PropertiesView.cs プロジェクト: sysujack/FX-Studio
        private void AddTransformProperties(XmlNode transformNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem(transformNode.Name);
            inspectorComponent.CategoryAdd(transformNode.Name, category);

            AddTransformItem(transformNode);
        }
コード例 #4
0
ファイル: PropertiesView.cs プロジェクト: sysujack/FX-Studio
        private void AddCubeProperties(XmlNode cubeNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem(cubeNode.Name);
            inspectorComponent.CategoryAdd(cubeNode.Name, category);

            AddGeometryMaterial(cubeNode);
        }
コード例 #5
0
ファイル: PropertiesView.cs プロジェクト: sysujack/FX-Studio
        private void AddSkyboxProperties(XmlNode skyboxNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem(skyboxNode.Name);
            inspectorComponent.CategoryAdd(skyboxNode.Name, category);

            AddTextureItem(skyboxNode);
        }
コード例 #6
0
ファイル: PropertiesView.cs プロジェクト: sysujack/FX-Studio
        private void AddGridProperties(XmlNode gridNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem(gridNode.Name);
            inspectorComponent.CategoryAdd(gridNode.Name, category);

            AddTextureItem(gridNode);
        }
コード例 #7
0
ファイル: PropertiesView.cs プロジェクト: sysujack/FX-Studio
        private void AddSceneProperties(XmlNode sceneNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem("Scene");
            inspectorComponent.CategoryAdd("Scene", category);

            inspectorComponent.ItemAdd(new Inspector.StringItem("Scene", "Name", "", sceneNode.Name));
        }
コード例 #8
0
ファイル: PropertiesView.cs プロジェクト: sysujack/FX-Studio
        private void AddEditorCameraProperties(XmlNode cameraNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem(cameraNode.Name);
            inspectorComponent.CategoryAdd(cameraNode.Name, category);

            AddTransformItem(cameraNode, false);
        }
コード例 #9
0
ファイル: PropertiesView.cs プロジェクト: corefan/FX-Studio
        public void UpdateAssetProperties(XmlNode selectedNode)
        {
            bool reset = (m_LastSelectedNode != selectedNode);

            if (reset)
            {
                inspectorComponent.ItemsClear();
            }

            string nodeName = selectedNode.Name;

            if (nodeName == "Effect")
            {
            }
            else if (nodeName == "Model")
            {
            }
            else if (nodeName == "Texture")
            {
                Inspector.CategoryItem category = new Inspector.CategoryItem("Image Properties");
                inspectorComponent.CategoryAdd("ImageProperties", category);

                string textureName = selectedNode.Attributes["name"].Value;
                inspectorComponent.ItemAdd(new Inspector.StringItem("ImageProperties", textureName, selectedNode.InnerText));
            }

            inspectorComponent.UpdateControl(reset);
            m_LastSelectedNode = selectedNode;
        }
コード例 #10
0
ファイル: PropertiesView.cs プロジェクト: corefan/FX-Studio
        private void AddTeapotProperties(XmlNode teapotNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem(teapotNode.Name);
            inspectorComponent.CategoryAdd(teapotNode.Name, category);

            AddColorItem(teapotNode);
            AddTextureItem(teapotNode);
            AddEffectItem(teapotNode);
        }
コード例 #11
0
ファイル: PropertiesView.cs プロジェクト: corefan/FX-Studio
        private void AddCylinderProperties(XmlNode cylinderNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem(cylinderNode.Name);
            inspectorComponent.CategoryAdd(cylinderNode.Name, category);

            AddColorItem(cylinderNode);
            AddTextureItem(cylinderNode);
            AddEffectItem(cylinderNode);
        }
コード例 #12
0
ファイル: PropertiesView.cs プロジェクト: corefan/FX-Studio
        private void AddSphereProperties(XmlNode sphereNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem(sphereNode.Name);
            inspectorComponent.CategoryAdd(sphereNode.Name, category);

            AddColorItem(sphereNode);
            AddTextureItem(sphereNode);
            AddEffectItem(sphereNode);
        }
コード例 #13
0
ファイル: PropertiesView.cs プロジェクト: sysujack/FX-Studio
        private void AddEffectProperties(XmlNode effectNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem("Effect Properties");
            inspectorComponent.CategoryAdd("EffectProperties", category);

            string effectName = effectNode.Attributes["name"].Value;

            inspectorComponent.ItemAdd(new Inspector.StringItem("EffectProperties", "Name", "", effectName));
            string effectPath = effectNode.InnerText;

            inspectorComponent.ItemAdd(new Inspector.StringItem("EffectProperties", "Full Path", "", effectNode.InnerText));
        }
コード例 #14
0
ファイル: PropertiesView.cs プロジェクト: sysujack/FX-Studio
        private void AddProjectProperties(XmlNode projectNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem(projectNode.Name);
            inspectorComponent.CategoryAdd(projectNode.Name, category);

            XmlNode nameNode = projectNode.SelectSingleNode("Name");

            inspectorComponent.ItemAdd(new Inspector.StringItem(projectNode.Name, nameNode.Name, "", nameNode.InnerText));

            XmlNode locationNode = projectNode.SelectSingleNode("Location");

            inspectorComponent.ItemAdd(new Inspector.StringItem(projectNode.Name, locationNode.Name, "", locationNode.InnerText));
        }
コード例 #15
0
ファイル: PropertiesView.cs プロジェクト: sysujack/FX-Studio
        private void AddModelProperties(XmlNode modelNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem(modelNode.Name);
            inspectorComponent.CategoryAdd(modelNode.Name, category);

            XmlNode materials = modelNode.SelectSingleNode("Materials");

            if (materials != null)
            {
                foreach (XmlNode child in materials)
                {
                    string name = child.Attributes["name"].Value;
                    AddMaterialItem(modelNode.Name, name, child.InnerText);
                }
            }
        }
コード例 #16
0
ファイル: PropertiesView.cs プロジェクト: sysujack/FX-Studio
        private void AddMaterialProperties(XmlNode materialNode)
        {
            Inspector.CategoryItem category = new Inspector.CategoryItem("Material Properties");
            inspectorComponent.CategoryAdd("MaterialProperties", category);

            XmlNode variablesRoot = materialNode.SelectSingleNode("Variables");

            foreach (XmlNode child in variablesRoot)
            {
                string varName  = child.Name;
                string varValue = child.InnerText;
                string uiName   = varName;

                XmlAttribute nameNode = child.Attributes["uiname"];
                if (nameNode != null)
                {
                    uiName = nameNode.Value;
                }

                XmlAttribute widgetNode = child.Attributes["uiwidget"];
                if (widgetNode != null)
                {
                    string uiWidget = widgetNode.Value;
                    if (string.Equals(uiWidget, "None", StringComparison.OrdinalIgnoreCase))
                    {
                        // hide property
                    }
                    else if (string.Equals(uiWidget, "Color", StringComparison.OrdinalIgnoreCase))
                    {
                        AddColorItem("MaterialProperties", uiName, varName, varValue);
                    }
                    else if (string.Equals(uiWidget, "slider", StringComparison.OrdinalIgnoreCase))
                    {
                        XmlNode minNode  = child.Attributes["uimin"];
                        XmlNode maxNode  = child.Attributes["uimax"];
                        XmlNode stepNode = child.Attributes["uistep"];
                        if (minNode != null && maxNode != null && stepNode != null)
                        {
                            AddFloatItem("MaterialProperties", uiName, varName,
                                         varValue, minNode.InnerText, maxNode.InnerText, stepNode.InnerText);
                        }
                        else
                        {
                            inspectorComponent.ItemAdd(new Inspector.StringItem("MaterialProperties", uiName, varName, varValue));
                        }
                    }
                    continue;
                }

                XmlNode objectNode = child.Attributes["bbject"];
                if (objectNode != null)
                {
                    inspectorComponent.ItemAdd(new Inspector.StringItem("MaterialProperties", uiName, varName, varValue));
                    continue;
                }

                XmlNode textureNode = child.Attributes["resourcetype"];
                if (textureNode != null)
                {
                    XmlNode valueNode = child.Attributes["resourcename"];
                    if (!string.IsNullOrEmpty(valueNode.InnerText))
                    {
                        AddTextureItem("MaterialProperties", uiName, varName,
                                       m_ProjectLocation + @"\Textures\" + Path.GetFileName(valueNode.InnerText));
                    }
                    else
                    {
                        inspectorComponent.ItemAdd(new Inspector.StringItem("MaterialProperties", uiName, varName, varValue));
                    }
                    continue;
                }

                if (!string.IsNullOrEmpty(varValue))
                {
                    inspectorComponent.ItemAdd(new Inspector.StringItem("MaterialProperties", uiName, varName, varValue));
                }
            }
        }