コード例 #1
0
        public unsafe string GetType()
        {
            ContentMetaAccessorBase\u003Cnn\u003A\u003Ancm\u003A\u003APackagedContentMetaHeader\u002Cnn\u003A\u003Ancm\u003A\u003APackagedContentInfo\u003E *reader = (ContentMetaAccessorBase\u003Cnn\u003A\u003Ancm\u003A\u003APackagedContentMetaHeader\u002Cnn\u003A\u003Ancm\u003A\u003APackagedContentInfo\u003E *)this.m_Reader;

            if (*(byte *)reader == (byte)0)
            {
                \u003CModule\u003E.abort();
            }
            string str = NintendoContentMetaReader.ConvertMetaType((ContentMetaType) * (byte *)(*(int *)((IntPtr)reader + 4) + 12));

            GC.KeepAlive((object)this);
            return(str);
        }
コード例 #2
0
        public unsafe List <NintendoContentMetaInfo> GetContentMetaInfoList()
        {
            List <NintendoContentMetaInfo> nintendoContentMetaInfoList = new List <NintendoContentMetaInfo>();
            int index = 0;
            PackagedContentMetaReader *reader = this.m_Reader;
            ContentMetaAccessorBase\u003Cnn\u003A\u003Ancm\u003A\u003APackagedContentMetaHeader\u002Cnn\u003A\u003Ancm\u003A\u003APackagedContentInfo\u003E *packagedContentInfoPtr = (ContentMetaAccessorBase\u003Cnn\u003A\u003Ancm\u003A\u003APackagedContentMetaHeader\u002Cnn\u003A\u003Ancm\u003A\u003APackagedContentInfo\u003E *)reader;

            if (*(byte *)packagedContentInfoPtr != (byte)0)
            {
                while (index < (int)*(ushort *)(*(int *)((IntPtr)packagedContentInfoPtr + 4) + 18))
                {
                    ContentMetaInfo *       contentMetaInfo         = \u003CModule\u003E.nn\u002Encm\u002EContentMetaAccessorBase\u003Cnn\u003A\u003Ancm\u003A\u003APackagedContentMetaHeader\u002Cnn\u003A\u003Ancm\u003A\u003APackagedContentInfo\u003E\u002EGetContentMetaInfo((ContentMetaAccessorBase\u003Cnn\u003A\u003Ancm\u003A\u003APackagedContentMetaHeader\u002Cnn\u003A\u003Ancm\u003A\u003APackagedContentInfo\u003E *)reader, index);
                    NintendoContentMetaInfo nintendoContentMetaInfo = new NintendoContentMetaInfo(NintendoContentMetaReader.ConvertMetaType((ContentMetaType) * (byte *)((IntPtr)contentMetaInfo + 12)), (ulong)*(long *)contentMetaInfo, (uint)*(int *)((IntPtr)contentMetaInfo + 8), *(byte *)((IntPtr)contentMetaInfo + 13));
                    nintendoContentMetaInfoList.Add(nintendoContentMetaInfo);
                    ++index;
                    reader = this.m_Reader;
                    packagedContentInfoPtr = (ContentMetaAccessorBase\u003Cnn\u003A\u003Ancm\u003A\u003APackagedContentMetaHeader\u002Cnn\u003A\u003Ancm\u003A\u003APackagedContentInfo\u003E *)reader;
                    if (*(byte *)packagedContentInfoPtr == (byte)0)
                    {
                        goto label_3;
                    }
                }
                goto label_4;
            }
label_3:
            \u003CModule\u003E.abort();
label_4:
            GC.KeepAlive((object)this);
            return(nintendoContentMetaInfoList);
        }