Terraria.ModLoader.SoundLoader.ResizeAndFillArrays C# (CSharp) Method

ResizeAndFillArrays() static private method

static private ResizeAndFillArrays ( ) : void
return void
        internal static void ResizeAndFillArrays()
        {
            customSounds = new SoundEffect[nextSound[SoundType.Custom]];
            customSoundInstances = new SoundEffectInstance[nextSound[SoundType.Custom]];
            Array.Resize(ref Main.soundItem, nextSound[SoundType.Item]);
            Array.Resize(ref Main.soundInstanceItem, nextSound[SoundType.Item]);
            Array.Resize(ref Main.soundNPCHit, nextSound[SoundType.NPCHit]);
            Array.Resize(ref Main.soundInstanceNPCHit, nextSound[SoundType.NPCHit]);
            Array.Resize(ref Main.soundNPCKilled, nextSound[SoundType.NPCKilled]);
            Array.Resize(ref Main.soundInstanceNPCKilled, nextSound[SoundType.NPCKilled]);
            Array.Resize(ref Main.music, nextSound[SoundType.Music]);
            Array.Resize(ref Main.musicFade, nextSound[SoundType.Music]);
            foreach (SoundType type in Enum.GetValues(typeof(SoundType)))
            {
                foreach (string sound in sounds[type].Keys)
                {
                    int slot = GetSoundSlot(type, sound);
                    if (type != SoundType.Music)
                    {
                        GetSoundArray(type)[slot] = ModLoader.GetSound(sound);
                        GetSoundInstanceArray(type)[slot] = GetSoundArray(type)[slot]?.CreateInstance() ?? null;
                    }
                    else
                    {
                        if (Main.music[slot] == null)
                        {
                            Main.music[slot] = new MusicWrapper();
                        }
                        Main.music[slot].ModMusic = ModLoader.GetSound(sound)?.CreateInstance() ?? null;
                    }
                }
            }
        }

Usage Example

Exemplo n.º 1
0
 private static void ResizeArrays(bool unloading = false)
 {
     ItemLoader.ResizeArrays(unloading);
     EquipLoader.ResizeAndFillArrays();
     ModPrefix.ResizeArrays();
     Main.InitializeItemAnimations();
     ModDust.ResizeArrays();
     TileLoader.ResizeArrays(unloading);
     WallLoader.ResizeArrays(unloading);
     ProjectileLoader.ResizeArrays();
     NPCLoader.ResizeArrays(unloading);
     NPCHeadLoader.ResizeAndFillArrays();
     ModGore.ResizeAndFillArrays();
     SoundLoader.ResizeAndFillArrays();
     MountLoader.ResizeArrays();
     BuffLoader.ResizeArrays();
     PlayerHooks.RebuildHooks();
     BackgroundTextureLoader.ResizeAndFillArrays();
     UgBgStyleLoader.ResizeAndFillArrays();
     SurfaceBgStyleLoader.ResizeAndFillArrays();
     GlobalBgStyleLoader.ResizeAndFillArrays(unloading);
     WaterStyleLoader.ResizeArrays();
     WaterfallStyleLoader.ResizeArrays();
     WorldHooks.ResizeArrays();
     foreach (LocalizedText text in LanguageManager.Instance._localizedTexts.Values)
     {
         text.Override = null;
     }
 }
All Usage Examples Of Terraria.ModLoader.SoundLoader::ResizeAndFillArrays