Example #1
0
        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;
                }
            }
        }
Example #2
0
 public void PlaySong(TLoZPlayer player, Song song, SongVariant variant)
 {
     CurrentSong     = new WorldSong(player, song, variant);
     TicksLeftOnSong = song.GetDuration(variant);
 }