예제 #1
0
        public unsafe static uint GetAssetBundle(int bundle_index)
        {
            if (bundle_index < 0 || bundle_index >= AssetBundleCount)
            {
                return(0u);
            }
            BaseBundleInfo bundleinfo = p_bundleinfo[bundle_index];

            return(bundleinfo.ab_crc);
        }
예제 #2
0
        public unsafe static List <uint> GetAll_AB_crc()
        {
            var list = new List <uint>();

            foreach (var item in crcIndexer)
            {
                var crc   = item.Key;
                var index = item.Value;

                BaseAssetInfo  assetInfo  = p_assetinfo[index];
                BaseBundleInfo bundleInfo = p_bundleinfo[assetInfo.ab_index];
                ///bedependedTag = assetinfo.asset_beDependedTag;
                list.Add(bundleInfo.ab_crc);
            }
            return(list);
        }
예제 #3
0
        public unsafe static uint[] GetDependences(int bundle_index)
        {
            uint[] ret = null;
            if (bundle_index < 0 || bundle_index >= AssetBundleCount)
            {
                return(ret);
            }
            BaseBundleInfo bundleinfo   = p_bundleinfo[bundle_index];
            int            dep_arr_addr = bundleinfo.dep_arr_addr;

            if (dep_arr_addr < 0)
            {
                return(ret);
            }
            Position = arr_Blob + dep_arr_addr;
            int length = read_short();

            return(read_uints(length));
        }
예제 #4
0
        public unsafe static uint *GetDependences(int bundle_index, out int count)
        {
            count = 0;
            uint *ret = (uint *)(void *)IntPtr.Zero;

            if (bundle_index < 0 || bundle_index >= AssetBundleCount)
            {
                return(ret);
            }
            BaseBundleInfo bundleinfo   = p_bundleinfo[bundle_index];
            int            dep_arr_addr = bundleinfo.dep_arr_addr;

            if (dep_arr_addr < 0)
            {
                return(ret);
            }
            Position = arr_Blob + dep_arr_addr;
            count    = read_short();
            return((uint *)(m_pData + Position));
        }