/// <summary> /// 载入一个预制体资源 /// </summary> /// <param name="db">资源数据</param> /// <param name="name">资源名</param> /// <returns></returns> public unsafe static PrefabAsset LoadModels(DataBuffer db, string name) { var fake = db.fakeStruct; var asset = new PrefabAsset(); asset.models = fake.GetData <FakeStruct>(0); Int16[] arr = fake.GetData <Int16[]>(1); if (arr != null) { FakeStruct[] fsa = new FakeStruct[arr.Length]; for (int i = 0; i < arr.Length; i++) { fsa[i] = db.GetData(arr[i]) as FakeStruct; } asset.tables = fsa; } asset.Version = fake.GetData <string>(2); asset.name = name; for (int i = 0; i < prefabAssets.Count; i++) { if (prefabAssets[i].name == name) { prefabAssets.RemoveAt(i); break; } } prefabAssets.Add(asset); return(asset); }
public unsafe static PrefabAsset LoadModels(byte[] buff, string name) { DataBuffer db = new DataBuffer(buff); var asset = new PrefabAsset(); asset.models = db.fakeStruct; asset.name = name; for (int i = 0; i < prefabAssets.Count; i++) { if (prefabAssets[i].name == name) { prefabAssets.RemoveAt(i); break; } } prefabAssets.Add(asset); return(asset); }