1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-20 00:52:56 +08:00

Change Track and TrackManagerPreviewTrack accessibilities

This commit is contained in:
iiSaLMaN 2019-11-10 23:09:04 +03:00
parent 20ed6c4d52
commit 9d61d73ced
2 changed files with 14 additions and 13 deletions

View File

@ -24,36 +24,37 @@ namespace osu.Game.Audio
/// </summary> /// </summary>
public event Action Started; public event Action Started;
private Track track; protected Track Track;
private bool hasStarted; private bool hasStarted;
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load() private void load()
{ {
track = GetTrack(); Track = GetTrack();
if (track != null) if (Track != null)
track.Completed += Stop; Track.Completed += Stop;
} }
/// <summary> /// <summary>
/// Length of the track. /// Length of the track.
/// </summary> /// </summary>
public double Length => track?.Length ?? 0; public double Length => Track?.Length ?? 0;
/// <summary> /// <summary>
/// The current track time. /// The current track time.
/// </summary> /// </summary>
public double CurrentTime => track?.CurrentTime ?? 0; public double CurrentTime => Track?.CurrentTime ?? 0;
/// <summary> /// <summary>
/// Whether the track is loaded. /// Whether the track is loaded.
/// </summary> /// </summary>
public bool TrackLoaded => track?.IsLoaded ?? false; public bool TrackLoaded => Track?.IsLoaded ?? false;
/// <summary> /// <summary>
/// Whether the track is playing. /// Whether the track is playing.
/// </summary> /// </summary>
public bool IsRunning => track?.IsRunning ?? false; public bool IsRunning => Track?.IsRunning ?? false;
private ScheduledDelegate startDelegate; private ScheduledDelegate startDelegate;
@ -63,7 +64,7 @@ namespace osu.Game.Audio
/// <returns>Whether the track is started or already playing.</returns> /// <returns>Whether the track is started or already playing.</returns>
public bool Start() public bool Start()
{ {
if (track == null) if (Track == null)
return false; return false;
startDelegate = Schedule(() => startDelegate = Schedule(() =>
@ -73,7 +74,7 @@ namespace osu.Game.Audio
hasStarted = true; hasStarted = true;
track.Restart(); Track.Restart();
Started?.Invoke(); Started?.Invoke();
}); });
@ -87,7 +88,7 @@ namespace osu.Game.Audio
{ {
startDelegate?.Cancel(); startDelegate?.Cancel();
if (track == null) if (Track == null)
return; return;
if (!hasStarted) if (!hasStarted)
@ -95,7 +96,7 @@ namespace osu.Game.Audio
hasStarted = false; hasStarted = false;
track.Stop(); Track.Stop();
Stopped?.Invoke(); Stopped?.Invoke();
} }

View File

@ -90,7 +90,7 @@ namespace osu.Game.Audio
/// </summary> /// </summary>
protected virtual TrackManagerPreviewTrack CreatePreviewTrack(BeatmapSetInfo beatmapSetInfo, ITrackStore trackStore) => new TrackManagerPreviewTrack(beatmapSetInfo, trackStore); protected virtual TrackManagerPreviewTrack CreatePreviewTrack(BeatmapSetInfo beatmapSetInfo, ITrackStore trackStore) => new TrackManagerPreviewTrack(beatmapSetInfo, trackStore);
protected class TrackManagerPreviewTrack : PreviewTrack public class TrackManagerPreviewTrack : PreviewTrack
{ {
public IPreviewTrackOwner Owner { get; private set; } public IPreviewTrackOwner Owner { get; private set; }