private void MergeSNDI(AssetSNDI_GCN_V1 asset) { foreach (Asset a in assetDictionary.Values) { if (a is AssetSNDI_GCN_V1 SNDI) { SNDI.Merge(asset); return; } } }
public void Merge(AssetSNDI_GCN_V1 assetSNDI) { { // SND var entries = Entries_SND.ToList(); var assetIDsAlreadyPresent = (from entry in entries select(uint) entry.SoundAssetID).ToList(); foreach (var entry in assetSNDI.Entries_SND) { if (!assetIDsAlreadyPresent.Contains(entry.SoundAssetID)) { entries.Add(entry); } } Entries_SND = entries.ToArray(); } { // SNDS var entries = Entries_SNDS.ToList(); var assetIDsAlreadyPresent = (from entry in entries select(uint) entry.SoundAssetID).ToList(); foreach (var entry in assetSNDI.Entries_SNDS) { if (!assetIDsAlreadyPresent.Contains(entry.SoundAssetID)) { entries.Add(entry); } } Entries_SNDS = entries.ToArray(); } { // Sound_CIN var entries = Entries_Sound_CIN.ToList(); var assetIDsAlreadyPresent = (from entry in entries select(uint) entry.SoundAssetID).ToList(); foreach (var entry in assetSNDI.Entries_Sound_CIN) { if (!assetIDsAlreadyPresent.Contains(entry.SoundAssetID)) { entries.Add(entry); } } Entries_Sound_CIN = entries.ToArray(); } }