Add last play time support
Support setting avatar, navigator and titles on web interface (unoptimized)
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
namespace SharedProject.models;
|
||||
|
||||
public class Avatar
|
||||
{
|
||||
public uint Id { get; set; }
|
||||
public string? IdString { get; set; }
|
||||
public string? FullName { get; set; }
|
||||
public string? Name { get; set; }
|
||||
public string? Variant { get; set; }
|
||||
public string? AcquireMethod { get; set; }
|
||||
|
||||
public override string ToString() {
|
||||
return $"{Id}: {FullName}, {AcquireMethod}";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
namespace SharedProject.models;
|
||||
|
||||
public class NameEntry
|
||||
{
|
||||
public string? NameWithVariant { get; set; }
|
||||
public string? NameWithoutVariant{ get; set; }
|
||||
public string? Variant{ get; set; }
|
||||
public string? IllustrationCredit{ get; set; }
|
||||
public override string ToString() {
|
||||
return $"{NameWithVariant}";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using SharedProject.enums;
|
||||
|
||||
namespace SharedProject.models;
|
||||
|
||||
public class Navigator
|
||||
{
|
||||
public uint Id { get; set; }
|
||||
|
||||
public string? IdString { get; set; }
|
||||
|
||||
public string? FileName { get; set; }
|
||||
|
||||
public NameEntry? NameEntry0 { get; set; }
|
||||
public NameEntry? NameEntry1 { get; set; }
|
||||
|
||||
public NavigatorGenre Genre { get; set; }
|
||||
|
||||
public NavigatorDefaultAvailability DefaultAvailability { get; set; }
|
||||
|
||||
public string? ToolTipJp { get; set; }
|
||||
public string? ToolTipEn { get; set; }
|
||||
public override string ToString() {
|
||||
return $"{Id}: {NameEntry1}, {ToolTipEn}";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace SharedProject.models;
|
||||
|
||||
public class Navigators
|
||||
{
|
||||
public int Count { get; set; }
|
||||
|
||||
public List<Navigator>? NavigatorList { get; set; }
|
||||
}
|
||||
@@ -13,4 +13,13 @@ public class PlayOption
|
||||
|
||||
[JsonPropertyName(nameof(FeverTrance))]
|
||||
public PlayOptions.FeverTranceShow FeverTrance { get; set; }
|
||||
|
||||
[JsonPropertyName(nameof(AvatarId))]
|
||||
public long AvatarId { get; set; }
|
||||
|
||||
[JsonPropertyName(nameof(NavigatorId))]
|
||||
public long NavigatorId { get; set; }
|
||||
|
||||
[JsonPropertyName(nameof(TitleId))]
|
||||
public long TitleId { get; set; }
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using SharedProject.common;
|
||||
using SharedProject.enums;
|
||||
|
||||
namespace SharedProject.models;
|
||||
|
||||
@@ -25,4 +26,15 @@ public class SongPlayData
|
||||
return SongPlaySubDataList.Sum(data => data.PlayCount);
|
||||
}
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public DateTime LastPlayTime
|
||||
{
|
||||
get
|
||||
{
|
||||
var songPlayDetailData = SongPlaySubDataList.Where(data => data.ClearState != ClearState.NotPlayed)
|
||||
.MinBy(data => data.LastPlayTime);
|
||||
return songPlayDetailData?.LastPlayTime ?? DateTime.MaxValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -13,4 +13,6 @@ public class SongPlayDetailData
|
||||
public Difficulty Difficulty { get; set; }
|
||||
|
||||
public ClearState ClearState { get; set; }
|
||||
|
||||
public DateTime LastPlayTime { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using SharedProject.enums;
|
||||
|
||||
namespace SharedProject.models;
|
||||
|
||||
public class Title
|
||||
{
|
||||
public uint Id { get; set; }
|
||||
public string? IdString { get; set; }
|
||||
public string? NameJp { get; set; }
|
||||
public string? NameEng { get; set; }
|
||||
public string? UnlockRequirementJp { get; set; }
|
||||
public string? UnlockRequirementEng { get; set; }
|
||||
public TitleUnlockType Type { get; set; }
|
||||
public override string ToString() {
|
||||
return $"{Id}: {NameEng}, {UnlockRequirementEng}";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user