Beispiel #1
0
        public void ExecuteEventHandler(object sender, SimPe.Events.ResourceEventArgs e)
        {
            if (!ChangeEnabledStateEventHandler(null, e))
            {
                return;
            }

            SimPe.FileTable.FileIndex.Load();

            System.IO.StreamWriter sw = new System.IO.StreamWriter(new System.IO.MemoryStream());
            try
            {
                List <uint> list = new List <uint>();
                SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem[] items = SimPe.FileTable.FileIndex.FindFile(Data.MetaData.GLOB_FILE, true);
                sw.WriteLine("public static Alias[] SemiGlobals = {");
                sw.WriteLine("");
                sw.Write("    ");
                Wait.SubStart(items.Length);
                //int ct = 0;
                foreach (SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem item in items)
                {
                    SimPe.Plugin.Glob glb = new Glob();
                    glb.ProcessData(item);

                    if (list.Contains(glb.SemiGlobalGroup))
                    {
                        continue;
                    }
                    list.Add(glb.SemiGlobalGroup);


                    sw.WriteLine("new SemiGlobalAlias(true, 0x" + Helper.HexString(glb.SemiGlobalGroup) + ",\"" + glb.SemiGlobalName + "\"),");
                }
                Wait.SubStop();
                sw.WriteLine("};");

                Report f = new Report();
                f.Execute(sw);
            }
            finally
            {
                sw.Close();
            }
        }