PSSGManager.Main.openToolStripMenuItem_Click C# (CSharp) Méthode

openToolStripMenuItem_Click() private méthode

private openToolStripMenuItem_Click ( object sender, EventArgs e ) : void
sender object
e EventArgs
Résultat void
        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 {

            }
        }