示例#1
0
        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";
            }
        }
示例#2
0
        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);
        }