Exemplo n.º 1
0
 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();
            }
        }