Exemple #1
0
            public NodeTreeNode(Data.NodeBase node, bool create_children = false)
            {
                if (node == null)
                {
                    throw new Exception();
                }

                Reading = false;
                Writing = false;

                Node    = node;
                Text    = node.Name;
                Checked = node.IsRendered;
                Node.IsRendered.OnChanged += OnChangedIsRendered;
                Node.Name.OnChanged       += OnChangedName;
                Node.OnAfterAddNode       += OnAfterAddNode;
                Node.OnAfterRemoveNode    += OnAfterRemoveNode;
                Node.OnAfterExchangeNodes += OnAfterExchangeNodes;

                if (create_children)
                {
                    for (int i = 0; i < Node.Children.Count; i++)
                    {
                        Nodes.Add(new NodeTreeNode(Node.Children[i], true));
                    }
                }
            }
Exemple #2
0
        public NodeTreeViewNode(NodeTreeView treeView, Data.NodeBase node, bool createChildren = false)
        {
            UniqueID = Manager.GetUniqueID();
            id       = "###" + UniqueID.ToString();

            this.treeView = treeView;
            this.Node     = node;

            if (createChildren)
            {
                for (int i = 0; i < node.Children.Count; i++)
                {
                    var newNode = new NodeTreeViewNode(treeView, node.Children[i], true);
                    Children.Add(newNode);
                }
            }

            AddEvent(false);
        }
Exemple #3
0
        public NodeTreeViewNode(NodeTreeView treeView, Data.NodeBase node, bool createChildren = false)
        {
            UniqueID = Manager.GetUniqueID();
            id       = "###" + UniqueID.ToString();

            this.treeView = treeView;
            this.Node     = node;

            node.OnAfterAddNode       += OnAfterAddNode;
            node.OnAfterRemoveNode    += OnAfterRemoveNode;
            node.OnAfterExchangeNodes += OnAfterExchangeNodes;

            if (createChildren)
            {
                for (int i = 0; i < node.Children.Count; i++)
                {
                    var newNode = new NodeTreeViewNode(treeView, node.Children[i], true);
                    Children.Add(newNode);
                }
            }
        }
Exemple #4
0
        public NodeTreeViewNode(Data.NodeBase node, bool createChildren = false)
        {
            var rand = new Random();

            id = "###" + rand.Next(0xffff).ToString();

            this.node = node;

            node.OnAfterAddNode       += OnAfterAddNode;
            node.OnAfterRemoveNode    += OnAfterRemoveNode;
            node.OnAfterExchangeNodes += OnAfterExchangeNodes;

            if (createChildren)
            {
                for (int i = 0; i < node.Children.Count; i++)
                {
                    var newNode = new NodeTreeViewNode(node.Children[i], true);
                    Children.Add(newNode);
                }
            }
        }
Exemple #5
0
            public NodeTreeNode(Data.NodeBase node, bool create_children = false)
            {
                if (node == null)
                {
                    throw new Exception();
                }

                Reading = false;
                Writing = false;

                Node                       = node;
                Text                       = node.Name;
                ImageIndex                 = 0;
                SelectedImageIndex         = 0;
                Checked                    = node.IsRendered;
                Node.IsRendered.OnChanged += OnChangedIsRendered;
                Node.Name.OnChanged       += OnChangedName;
                Node.OnAfterAddNode       += OnAfterAddNode;
                Node.OnAfterRemoveNode    += OnAfterRemoveNode;
                Node.OnAfterExchangeNodes += OnAfterExchangeNodes;

                if (Node is Data.Node)
                {
                    var realNode   = (Data.Node)Node;
                    int renderType = (int)realNode.DrawingValues.Type.Value;
                    ImageIndex         = renderType;
                    SelectedImageIndex = renderType;

                    realNode.DrawingValues.Type.OnChanged += OnChangedRenderType;
                }

                if (create_children)
                {
                    for (int i = 0; i < Node.Children.Count; i++)
                    {
                        Nodes.Add(new NodeTreeNode(Node.Children[i], true));
                    }
                }
            }
Exemple #6
0
 public NodeBaseValues(Data.NodeBase node)
 {
     this.node = node;
 }
Exemple #7
0
        public static ResourcePaths FindResourcePaths(Data.NodeBase node, Binary.ExporterVersion exporterVersion, ResourcePaths resources = null)
        {
            if (resources == null)
            {
                resources = new ResourcePaths();
            }

            if (node is Data.Node)
            {
                var _node = node as Data.Node;

                if (IsRenderedNode(_node))
                {
                    // Enumulate used texture image paths
                    if (_node.RendererCommonValues.Material.Value == Data.RendererCommonValues.MaterialType.Default)
                    {
                        var relative_path = _node.RendererCommonValues.ColorTexture.RelativePath;
                        if (relative_path != string.Empty)
                        {
                            resources.ColorTextures.Add(_node.RendererCommonValues.ColorTexture);
                        }

                        if (exporterVersion >= Binary.ExporterVersion.Ver1600)
                        {
                            var alpha_relative_path = _node.AdvancedRendererCommonValuesValues.AlphaTextureParam.Texture.RelativePath;
                            if (_node.AdvancedRendererCommonValuesValues.EnableAlphaTexture && alpha_relative_path != string.Empty)
                            {
                                resources.ColorTextures.Add(_node.AdvancedRendererCommonValuesValues.AlphaTextureParam.Texture);
                            }

                            var uvDistortion_relative_path = _node.AdvancedRendererCommonValuesValues.UVDistortionTextureParam.Texture.RelativePath;
                            if (_node.AdvancedRendererCommonValuesValues.EnableUVDistortionTexture && uvDistortion_relative_path != string.Empty)
                            {
                                resources.ColorTextures.Add(_node.AdvancedRendererCommonValuesValues.UVDistortionTextureParam.Texture);
                            }

                            var blend_relative_path = _node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendTextureParam.Texture.RelativePath;
                            if (_node.AdvancedRendererCommonValues2Values.EnableBlendTexture && blend_relative_path != string.Empty)
                            {
                                resources.ColorTextures.Add(_node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendTextureParam.Texture);

                                var blend_alpha_relative_path = _node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendAlphaTextureParam.Texture.RelativePath;
                                if (_node.AdvancedRendererCommonValues2Values.BlendTextureParams.EnableBlendAlphaTexture &&
                                    blend_alpha_relative_path != string.Empty)
                                {
                                    resources.ColorTextures.Add(_node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendAlphaTextureParam.Texture);
                                }

                                var blend_uv_distortion_relative_path = _node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendUVDistortionTextureParam.Texture.RelativePath;
                                if (_node.AdvancedRendererCommonValues2Values.BlendTextureParams.EnableBlendUVDistortionTexture &&
                                    blend_uv_distortion_relative_path != string.Empty)
                                {
                                    resources.ColorTextures.Add(_node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendUVDistortionTextureParam.Texture);
                                }
                            }
                        }
                    }
                    if (_node.RendererCommonValues.Material.Value == Data.RendererCommonValues.MaterialType.BackDistortion)
                    {
                        var relative_path = _node.RendererCommonValues.ColorTexture.RelativePath;
                        if (relative_path != string.Empty)
                        {
                            resources.DistortionTextures.Add(_node.RendererCommonValues.ColorTexture);
                        }

                        if (exporterVersion >= Binary.ExporterVersion.Ver1600)
                        {
                            var alpha_relative_path = _node.AdvancedRendererCommonValuesValues.AlphaTextureParam.Texture.RelativePath;
                            if (_node.AdvancedRendererCommonValuesValues.EnableAlphaTexture && alpha_relative_path != string.Empty)
                            {
                                resources.DistortionTextures.Add(_node.AdvancedRendererCommonValuesValues.AlphaTextureParam.Texture);
                            }

                            var uvDistortion_relative_path = _node.AdvancedRendererCommonValuesValues.UVDistortionTextureParam.Texture.RelativePath;
                            if (_node.AdvancedRendererCommonValuesValues.EnableUVDistortionTexture && uvDistortion_relative_path != string.Empty)
                            {
                                resources.DistortionTextures.Add(_node.AdvancedRendererCommonValuesValues.UVDistortionTextureParam.Texture);
                            }

                            var blend_relative_path = _node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendTextureParam.Texture.RelativePath;
                            if (_node.AdvancedRendererCommonValues2Values.EnableBlendTexture && blend_relative_path != string.Empty)
                            {
                                resources.DistortionTextures.Add(_node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendTextureParam.Texture);

                                var blend_alpha_relative_path = _node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendAlphaTextureParam.Texture.RelativePath;
                                if (_node.AdvancedRendererCommonValues2Values.BlendTextureParams.EnableBlendAlphaTexture &&
                                    blend_alpha_relative_path != string.Empty)
                                {
                                    resources.DistortionTextures.Add(_node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendAlphaTextureParam.Texture);
                                }

                                var blend_uv_distortion_relative_path = _node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendUVDistortionTextureParam.Texture.RelativePath;
                                if (_node.AdvancedRendererCommonValues2Values.BlendTextureParams.EnableBlendUVDistortionTexture &&
                                    blend_uv_distortion_relative_path != string.Empty)
                                {
                                    resources.DistortionTextures.Add(_node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendUVDistortionTextureParam.Texture);
                                }
                            }
                        }
                    }
                    if (_node.RendererCommonValues.Material.Value == Data.RendererCommonValues.MaterialType.Lighting)
                    {
                        var path1 = _node.RendererCommonValues.ColorTexture.RelativePath;
                        if (path1 != string.Empty)
                        {
                            resources.ColorTextures.Add(_node.RendererCommonValues.ColorTexture);
                        }

                        var path2 = _node.RendererCommonValues.NormalTexture.RelativePath;
                        if (path2 != string.Empty)
                        {
                            resources.NormalTextures.Add(_node.RendererCommonValues.NormalTexture);
                        }

                        if (exporterVersion >= Binary.ExporterVersion.Ver1600)
                        {
                            var alpha_relative_path = _node.AdvancedRendererCommonValuesValues.AlphaTextureParam.Texture.RelativePath;
                            if (_node.AdvancedRendererCommonValuesValues.EnableAlphaTexture && alpha_relative_path != string.Empty)
                            {
                                resources.ColorTextures.Add(_node.AdvancedRendererCommonValuesValues.AlphaTextureParam.Texture);
                            }

                            var uvDistortion_relative_path = _node.AdvancedRendererCommonValuesValues.UVDistortionTextureParam.Texture.RelativePath;
                            if (_node.AdvancedRendererCommonValuesValues.EnableUVDistortionTexture && uvDistortion_relative_path != string.Empty)
                            {
                                resources.ColorTextures.Add(_node.AdvancedRendererCommonValuesValues.UVDistortionTextureParam.Texture);
                            }

                            var blend_relative_path = _node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendTextureParam.Texture.RelativePath;
                            if (_node.AdvancedRendererCommonValues2Values.EnableBlendTexture && blend_relative_path != string.Empty)
                            {
                                resources.ColorTextures.Add(_node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendTextureParam.Texture);

                                var blend_alpha_relative_path = _node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendAlphaTextureParam.Texture.RelativePath;
                                if (_node.AdvancedRendererCommonValues2Values.BlendTextureParams.EnableBlendAlphaTexture &&
                                    blend_alpha_relative_path != string.Empty)
                                {
                                    resources.ColorTextures.Add(_node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendAlphaTextureParam.Texture);
                                }

                                var blend_uv_distortion_relative_path = _node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendUVDistortionTextureParam.Texture.RelativePath;
                                if (_node.AdvancedRendererCommonValues2Values.BlendTextureParams.EnableBlendUVDistortionTexture &&
                                    blend_uv_distortion_relative_path != string.Empty)
                                {
                                    resources.ColorTextures.Add(_node.AdvancedRendererCommonValues2Values.BlendTextureParams.BlendUVDistortionTextureParam.Texture);
                                }
                            }
                        }
                    }
                    if (_node.RendererCommonValues.Material.Value == Data.RendererCommonValues.MaterialType.File)
                    {
                        string material_path = _node.RendererCommonValues.MaterialFile.Path.AbsolutePath;
                        if (material_path != string.Empty)
                        {
                            resources.Materials.Add(_node.RendererCommonValues.MaterialFile.Path);

                            var materialInfo = Core.ResourceCache.LoadMaterialInformation(material_path);

                            var textures = _node.RendererCommonValues.MaterialFile.GetTextures(materialInfo).Where(_ => _.Item1 != null);

                            foreach (var texture in textures)
                            {
                                var pathImage     = texture.Item1.Value as Data.Value.PathForImage;
                                var relative_path = pathImage.RelativePath;
                                if (relative_path != string.Empty)
                                {
                                    if (texture.Item2.Type == Utl.TextureType.Value)
                                    {
                                        resources.NormalTextures.Add(pathImage);
                                    }
                                    else
                                    {
                                        resources.ColorTextures.Add(pathImage);
                                    }
                                }
                            }
                        }
                    }

                    // Enumulate used sound wave paths
                    if (_node.SoundValues.Type.GetValue() == Data.SoundValues.ParamaterType.Use)
                    {
                        var relative_path = _node.SoundValues.Sound.Wave.RelativePath;
                        if (relative_path != string.Empty)
                        {
                            resources.Sounds.Add(_node.SoundValues.Sound.Wave);
                        }
                    }

                    // Enumulate used model data path
                    if (_node.DrawingValues.Type.Value == Data.RendererValues.ParamaterType.Model)
                    {
                        var relative_path = _node.DrawingValues.Model.Model.RelativePath;

                        if (relative_path != string.Empty)
                        {
                            resources.Models.Add(_node.DrawingValues.Model.Model);
                        }
                    }

                    // Enumulate used material file path
                    if (_node.RendererCommonValues.Material.Value == Data.RendererCommonValues.MaterialType.File)
                    {
                        var relative_path = _node.RendererCommonValues.MaterialFile.Path.RelativePath;
                        if (relative_path != string.Empty)
                        {
                            resources.Materials.Add(_node.RendererCommonValues.MaterialFile.Path);
                        }
                    }
                }

                // Enumulate used model data path
                if (_node.GenerationLocationValues.Type.Value == Data.GenerationLocationValues.ParameterType.Model)
                {
                    var relative_path = _node.GenerationLocationValues.Model.Model.RelativePath;

                    if (relative_path != string.Empty)
                    {
                        resources.Models.Add(_node.GenerationLocationValues.Model.Model);
                    }
                }
            }

            for (int i = 0; i < node.Children.Count; i++)
            {
                FindResourcePaths(node.Children[i], exporterVersion, resources);
            }

            return(resources);
        }
 public ParameterTreeNode(Data.NodeBase node, Tuple35 <string, object>[] paramaters, ParameterTreeNode[] children)
 {
     Node       = node;
     Parameters = paramaters;
     Children   = children;
 }