public override void UpdateMusic(ref int music, ref MusicPriority priority) { if (Main.myPlayer == -1 || Main.gameMenu || !Main.LocalPlayer.active) { return; } TLoZWorld tlozWorld = ModContent.GetInstance <TLoZWorld>(); WorldSong song = tlozWorld.CurrentSong; if (song != null) { if (song.Variant == SongVariant.Normal && song.Player.player == Main.LocalPlayer) { Main.blockInput = true; } music = GetSoundSlot(SoundType.Music, song.Path); priority = MusicPriority.Event; if (tlozWorld.TicksLeftOnSong > 0) { tlozWorld.TicksLeftOnSong--; } if (tlozWorld.TicksLeftOnSong == 0) { tlozWorld.ResetSong(); } } foreach (NPC npc in Main.npc) { if (npc.type != ModContent.NPCType <Guardian>() || !npc.active) { continue; } Guardian guardian = npc.modNPC as Guardian; if (guardian != null && guardian.IsGuardianActive) { music = GetSoundSlot(SoundType.Music, "Sounds/Music/GuardianTheme"); priority = MusicPriority.BossMedium; } } }
public void PlaySong(TLoZPlayer player, Song song, SongVariant variant) { CurrentSong = new WorldSong(player, song, variant); TicksLeftOnSong = song.GetDuration(variant); }