mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-06-29 04:26:24 +02:00
UI: Show Total Time Played at the bottom of the UI in the status bar next to game total.
Does not show up in-game, and is recalculated every time the game list is reloaded.
This commit is contained in:
parent
df3b5b4bd8
commit
92440afcd7
5 changed files with 95 additions and 2 deletions
|
@ -51,6 +51,26 @@ namespace Ryujinx.Ava.Systems.AppLibrary
|
|||
public readonly IObservableCache<(TitleUpdateModel TitleUpdate, bool IsSelected), TitleUpdateModel> TitleUpdates;
|
||||
public readonly IObservableCache<(DownloadableContentModel Dlc, bool IsEnabled), DownloadableContentModel> DownloadableContents;
|
||||
|
||||
private Gommon.Optional<TimeSpan> _totalTimePlayed;
|
||||
|
||||
public Gommon.Optional<TimeSpan> TotalTimePlayed
|
||||
{
|
||||
get => _totalTimePlayed;
|
||||
private set
|
||||
{
|
||||
_totalTimePlayed = value;
|
||||
_totalTimePlayedChanged.Call(value);
|
||||
}
|
||||
}
|
||||
|
||||
public event Action<Gommon.Optional<TimeSpan>> TotalTimePlayedRecalculated
|
||||
{
|
||||
add => _totalTimePlayedChanged.Add(value);
|
||||
remove => _totalTimePlayedChanged.Remove(value);
|
||||
}
|
||||
|
||||
private readonly Event<Gommon.Optional<TimeSpan>> _totalTimePlayedChanged = new();
|
||||
|
||||
private readonly byte[] _nspIcon;
|
||||
private readonly byte[] _xciIcon;
|
||||
private readonly byte[] _ncaIcon;
|
||||
|
@ -825,6 +845,22 @@ namespace Ryujinx.Ava.Systems.AppLibrary
|
|||
}
|
||||
}
|
||||
|
||||
public Task RefreshTotalTimePlayedAsync()
|
||||
{
|
||||
TotalTimePlayed = Gommon.Optional<TimeSpan>.None;
|
||||
|
||||
TimeSpan temporary = TimeSpan.Zero;
|
||||
|
||||
foreach (var installedApplication in Applications.Items)
|
||||
{
|
||||
temporary += LoadAndSaveMetaData(installedApplication.IdString).TimePlayed;
|
||||
}
|
||||
|
||||
TotalTimePlayed = temporary;
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public async Task RefreshLdn()
|
||||
{
|
||||
if (ConfigurationState.Instance.Multiplayer.Mode == MultiplayerMode.LdnRyu)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue