public NextTrack GetNext(Track track, bool autoPlay) { var nextIndex = GetNextIndex(track); if ((nextIndex == -1) || ((nextIndex == 0) && !autoPlay)) { return(NextTrack.None); } return(NextTrack.PlayTrack(_Tracks[nextIndex])); }
/** * Keeps the given collider form colliding with this track and its adjacent tracks. * * Use this instead of Physics.IgnoreCollision or else a mesh regen will revert your change. * * Collisions are ignored until you unignore them. Ignoring a collider multiple times requires unignoring it * the same number of times to re-enable collisions. */ public void IgnoreCollisionsWith(Collider other) { ignoredColliders.Add(other); __ignoreCollisions(other, true); if (NextTrack) { NextTrack.RefreshIgnoredColliders(); } if (PrevTrack) { PrevTrack.RefreshIgnoredColliders(); } }
public virtual void ActionCallback(MediaSessionEventData eventData) { Console.WriteLine("MS_" + eventData.ActionType); if (string.Equals(eventData.ActionType, "Play", StringComparison.InvariantCultureIgnoreCase)) { Play?.Invoke(this, eventData); } else if (string.Equals(eventData.ActionType, "Pause", StringComparison.InvariantCultureIgnoreCase)) { Pause?.Invoke(this, eventData); } else if (string.Equals(eventData.ActionType, "Stop", StringComparison.InvariantCultureIgnoreCase)) { Stop?.Invoke(this, eventData); } else if (string.Equals(eventData.ActionType, "SeekBackward", StringComparison.InvariantCultureIgnoreCase)) { SeekBackward?.Invoke(this, eventData); } else if (string.Equals(eventData.ActionType, "SeekForward", StringComparison.InvariantCultureIgnoreCase)) { SeekForward?.Invoke(this, eventData); } else if (string.Equals(eventData.ActionType, "SeekTo", StringComparison.InvariantCultureIgnoreCase)) { SeekTo?.Invoke(this, eventData); } else if (string.Equals(eventData.ActionType, "PreviousTrack", StringComparison.InvariantCultureIgnoreCase)) { PreviousTrack?.Invoke(this, eventData); } else if (string.Equals(eventData.ActionType, "NextTrack", StringComparison.InvariantCultureIgnoreCase)) { NextTrack?.Invoke(this, eventData); } else if (string.Equals(eventData.ActionType, "SkipAd", StringComparison.InvariantCultureIgnoreCase)) { SkipAd?.Invoke(this, eventData); } else { throw new ArgumentOutOfRangeException(); } AnyEvent?.Invoke(this, eventData); }
/** * Reverts IgnoreCollisionsWith for the given collider. */ public void ResumeCollisionsWith(Collider other) { if (NextTrack) { NextTrack.DisableIgnoredColliders(); NextTrack.RefreshIgnoredColliders(); } if (PrevTrack) { PrevTrack.DisableIgnoredColliders(); PrevTrack.RefreshIgnoredColliders(); } __ignoreCollisions(other, false); ignoredColliders.Remove(other); }
public NextTrack GetNext(Track track, bool autoPlay) { if (_Tracks.Count == 0) { return(NextTrack.None); } var tracks = _Tracks.Where(t => !_PlayedTracks.Contains(t)).ToList(); var nextTrack = GetNext(tracks); if (nextTrack != null) { return(NextTrack.PlayTrack(nextTrack)); } _PlayedTracks.Clear(); return(autoPlay ? NextTrack.PlayTrack(GetFirst()) : NextTrack.None); }
IEnumerator PlayNextTrack(NextTrack playThisNext) { yield return(new WaitForSeconds(source.clip.length)); playThisNext(); }
public void PressNextButton() { Command cmd = new NextTrack(player); cmd.execute(); }