示例#1
0
 public void Play()
 {
     OnBeforePlay?.Invoke(this, EventArgs.Empty);
     ChannelHandle = Bass.BASS_StreamCreateURL(Url, 0, BASSFlag.BASS_DEFAULT, null, IntPtr.Zero);
     if (ChannelHandle != 0)
     {
         if (!(IsActive = Bass.BASS_ChannelPlay(ChannelHandle, false)))
         {
             App.Instance.ShowBallonTip(string.Format("BASS_ChannelPlay: {0}", Bass.BASS_ErrorGetCode().ToString()));
         }
     }
     else
     {
         App.Instance.ShowBallonTip(string.Format("BASS_StreamCreateURL: {0}", Bass.BASS_ErrorGetCode().ToString()));
     }
     OnAfterPlay?.Invoke(this, EventArgs.Empty);
 }
示例#2
0
        public bool Play(PlayCardArgs args, GameState gameState)
        {
            if (!args.Valid)
            {
                return(false);
            }

            OnBeforePlay?.Invoke();

            PlayActual(args, gameState);

            OnAfterPlay?.Invoke();

            MoveTo(Owner.DiscardPile);

            return(true);
        }