Beispiel #1
0
 private void MergeSNDI(AssetSNDI_PS2 asset)
 {
     foreach (Asset a in assetDictionary.Values)
     {
         if (a is AssetSNDI_PS2 SNDI)
         {
             SNDI.Merge(asset);
             return;
         }
     }
 }
 public void Merge(AssetSNDI_PS2 assetSNDI)
 {
     {
         // SND
         List <EntrySoundInfo_PS2> entriesSND  = Entries_SND.ToList();
         List <uint> assetIDsAlreadyPresentSND = new List <uint>();
         foreach (EntrySoundInfo_PS2 entrySND in entriesSND)
         {
             assetIDsAlreadyPresentSND.Add(entrySND.SoundAssetID);
         }
         foreach (EntrySoundInfo_PS2 entrySND in assetSNDI.Entries_SND)
         {
             if (!assetIDsAlreadyPresentSND.Contains(entrySND.SoundAssetID))
             {
                 entriesSND.Add(entrySND);
             }
         }
         Entries_SND = entriesSND.ToArray();
     }
     {
         // SNDS
         List <EntrySoundInfo_PS2> entriesSNDS  = Entries_SNDS.ToList();
         List <uint> assetIDsAlreadyPresentSNDS = new List <uint>();
         foreach (EntrySoundInfo_PS2 entrySNDS in entriesSNDS)
         {
             assetIDsAlreadyPresentSNDS.Add(entrySNDS.SoundAssetID);
         }
         foreach (EntrySoundInfo_PS2 entrySNDS in assetSNDI.Entries_SNDS)
         {
             if (!assetIDsAlreadyPresentSNDS.Contains(entrySNDS.SoundAssetID))
             {
                 entriesSNDS.Add(entrySNDS);
             }
         }
         Entries_SNDS = entriesSNDS.ToArray();
     }
 }