コード例 #1
0
 private static ClassInfo generateClassInfo(int index, ME3Package pcc)
 {
     ClassInfo info = new ClassInfo();
     info.baseClass = pcc.Exports[index].ClassParent;
     info.exportIndex = index;
     info.pccPath = new string(pcc.FileName.Skip(pcc.FileName.LastIndexOf("BIOGame") + 8).ToArray());
     foreach (ME3ExportEntry entry in pcc.Exports)
     {
         if (entry.idxLink - 1 == index && entry.ClassName != "ScriptStruct" && entry.ClassName != "Enum"
             && entry.ClassName != "Function" && entry.ClassName != "Const" && entry.ClassName != "State")
         {
             //Skip if property is transient (only used during execution, will never be in game files)
             if ((BitConverter.ToUInt64(entry.Data, 24) & 0x0000000000002000) == 0 && !info.properties.ContainsKey(entry.ObjectName))
             {
                 PropertyInfo p = getProperty(pcc, entry);
                 if (p != null)
                 {
                     info.properties.Add(entry.ObjectName, p);
                 }
             }
         }
     }
     return info;
 }
コード例 #2
0
 private static ClassInfo generateClassInfo(int index, ME1Package pcc)
 {
     ClassInfo info = new ClassInfo();
     IReadOnlyList<IExportEntry> Exports = pcc.Exports;
     info.baseClass = Exports[index].ClassParent;
     foreach (IExportEntry entry in Exports)
     {
         if (entry.idxLink - 1 == index && entry.ClassName != "ScriptStruct" && entry.ClassName != "Enum"
             && entry.ClassName != "Function" && entry.ClassName != "Const" && entry.ClassName != "State")
         {
             //Skip if property is transient (only used during execution, will never be in game files)
             if ((BitConverter.ToUInt64(entry.Data, 24) & 0x0000000000002000) == 0 && !info.properties.ContainsKey(entry.ObjectName))
             {
                 PropertyInfo p = getProperty(pcc, entry);
                 if (p != null)
                 {
                     info.properties.Add(entry.ObjectName, p);
                 }
             }
         }
     }
     return info;
 }