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:
parent
20ed6c4d52
commit
9d61d73ced
@ -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();
|
||||||
}
|
}
|
||||||
|
@ -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; }
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user