PSSGManager.CPSSGFile.findNodes C# (CSharp) Méthode

findNodes() public méthode

public findNodes ( string name ) : List
name string
Résultat List
        public List<CNode> findNodes(string name)
        {
            return rootNode.findNodes(name);
        }

Same methods

CPSSGFile::findNodes ( string name, string attributeName, string attributeValue ) : List

Usage Example

Exemple #1
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog();

            dialog.Filter = "PSSG files|*.pssg|All files|*.*";
            dialog.Title  = "Select a PSSG file";
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                closeFile();
                StreamReader sr = new StreamReader(dialog.FileName);
                CPSSGFile    f  = new CPSSGFile(sr.BaseStream);
                pssgFile = f;
                treeView.Nodes.Add(createTreeViewNode(f.rootNode));

                listBoxModels.Items.Clear();
                Model[] models = new Model[f.findNodes("MATRIXPALETTEJOINTRENDERINSTANCE").Count];
                modelView1.renderDataSources = new Dictionary <string, RenderDataSource>();

                int          i         = 0;
                List <CNode> mpbnNodes = f.findNodes("MATRIXPALETTEBUNDLENODE");
                foreach (CNode mpbnNode in mpbnNodes)
                {
                    List <CNode> mpjnNodes = mpbnNode.findNodes("MATRIXPALETTEJOINTNODE");
                    foreach (CNode mpjnNode in mpjnNodes)
                    {
                        Matrix transform = getTransform((byte[])mpjnNode.subNodes[0].data);
                        foreach (CNode mpjriNode in mpjnNode.findNodes("MATRIXPALETTEJOINTRENDERINSTANCE"))
                        {
                            string           rdsId = mpjriNode.attributes["indices"].value.Substring(1);
                            RenderDataSource renderDataSource;

                            if (!modelView1.renderDataSources.TryGetValue(rdsId, out renderDataSource))
                            {
                                CNode rdsNode = f.findNodes("RENDERDATASOURCE", "id", rdsId)[0];
                                CNode dbNode  = f.findNodes("DATABLOCK", "id", rdsNode.subNodes[1].attributes["dataBlock"].value.Substring(1))[0];

                                renderDataSource = createRenderDataSourceFromNodes(rdsNode, dbNode);
                                modelView1.renderDataSources.Add(rdsNode.attributes["id"].value, renderDataSource);
                            }

                            models[i] = new Model(mpjnNode.attributes["id"].ToString() + mpjriNode.attributes["shader"].ToString(), renderDataSource, transform,
                                                  (int)mpjriNode.attributes["streamOffset"].data, (int)mpjriNode.attributes["elementCountFromOffset"].data,
                                                  (int)mpjriNode.attributes["indexOffset"].data, (int)mpjriNode.attributes["indicesCountFromOffset"].data);
                            listBoxModels.Items.Add(models[i]);
                            i++;
                        }
                    }
                }

                createTreeViewTexturesList(f.rootNode);
            }
            else
            {
            }
        }
All Usage Examples Of PSSGManager.CPSSGFile::findNodes