void CostumeTV_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { try { if (e.Node.Tag != null) { if (isCostumeFile) { Type type = e.Node.Tag.GetType(); if (type.Name.ToLower().Contains("texture") && e.Node.ForeColor != Color.Red) { costume.Texture texture = (costume.Texture)e.Node.Tag; if (texture.path == "") { logTxBx.SelectionColor = Color.Red; logTxBx.SelectedText = "Warrning: if this is the first time you search for this object, it MAY TAKE OVER 2 SECONDS\r\n"; logTxBx.SelectionColor = logTxBx.ForeColor; } string path = texture.path == "" ? texture.findTexture():texture.path; if (path.ToLower().EndsWith(".texture")) { if (File.Exists(path)) { viewTexture(path, false); } } else { e.Node.ForeColor = Color.Red; MessageBox.Show("Could Not find " + texture.texName); } } else if (type.Name.ToLower().Contains("fx")) { costume.Fx tFx = (costume.Fx)e.Node.Tag; if (tFx.fileExists) { System.Diagnostics.Process.Start(tFx.path); } else { e.Node.ForeColor = Color.Red; } } } else if (File.Exists(e.Node.Tag.ToString())) { System.Diagnostics.Process.Start(e.Node.Tag.ToString()); } else { MessageBox.Show("File Does not Exists!", "Error"); } } } catch (Exception ex) { logTxBx.SelectionColor = logTxBx.ForeColor; logTxBx.SelectedText = ex.Message + "\r\n"; } }
private void initialize(ArrayList fileContent, int index, string fileName, System.Windows.Forms.TreeView tv, System.Windows.Forms.TreeNode pTn) { isMask = false; id = ""; setPathRoot(fileName); fxCount = 0; keyCount = 0; members = new ArrayList(); startIndex = index; for (int i = index; i < fileContent.Count; i++) { string str = (string)fileContent[i]; if (str.ToLower().Contains("info")) { infoStr = str; } else if (str.ToLower().Contains("geoname")) { geoName = getFiledStr(str); members.Add(str); } else if (str.ToLower().Contains("displayname")) { displayName = getFiledStr(str); members.Add(str); } else if (str.ToLower().Contains("geo")) { geoMemInd = members.Count; Geo geo = new Geo(str); members.Add(geo); } else if (str.ToLower().Contains("fx")) { fxCount++; Fx fx = new Fx(str, pathRoot); members.Add(fx); } else if (str.ToLower().Contains("tex1")) { costume.Texture tx = new costume.Texture(pathRoot, str); members.Add(tx); } else if (str.Contains("Tex2")) { costume.Texture tx = new costume.Texture(pathRoot, str); members.Add(tx); } else if (str.ToLower().Contains("tag")) { members.Add(str); } else if (str.ToLower().Contains("key")) { members.Add(str); } else if (str.ToLower().Contains("end")) { endStr = str; lastIndex = i; if (members.Count > 0) { string lastMember = members[members.Count - 1].ToString(); if (isMask) { isMask = true; } } break; } else { if (members.Count == 0) { id = stripWS_Tabs_newLine_Qts(str, true); } members.Add(str); } } buildTree(tv, pTn); }