Finish prototype for web interface

Only unlock unlockable songs at first write
This commit is contained in:
Yuchen Ji
2022-06-21 03:40:42 +08:00
parent d3265dbc02
commit c8b8a2816e
13 changed files with 111 additions and 49 deletions
-6
View File
@@ -7,10 +7,4 @@
<RootNamespace>SharedProject</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="ChoETL" Version="1.2.1.47" />
<PackageReference Include="sqlite-net2" Version="2.1.0-preB" />
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="2.1.0" />
</ItemGroup>
</Project>
+9
View File
@@ -0,0 +1,9 @@
namespace SharedProject.common;
public record ScoreGradeMap(int Score, string Grade)
{
public override string ToString()
{
return $"{{ Score = {Score}, Grade = {Grade} }}";
}
}
+34
View File
@@ -0,0 +1,34 @@
namespace SharedProject.common;
public static class SharedConstants
{
public const int DIFFICULTY_COUNT = 4;
public const int E_SCORE_THRESHOLD = 0;
public const int D_SCORE_THRESHOLD = 300000;
public const int C_SCORE_THRESHOLD = 500000;
public const int B_SCORE_THRESHOLD = 700000;
public const int A_SCORE_THRESHOLD = 800000;
public const int S_SCORE_THRESHOLD = 900000;
public const int S_PLUS_SCORE_THRESHOLD = 950000;
public const int S_PLUS_PLUS_SCORE_THRESHOLD = 990000;
public static readonly ScoreGradeMap[] GRADES =
{
new(E_SCORE_THRESHOLD, "E"),
new(D_SCORE_THRESHOLD, "D"),
new(C_SCORE_THRESHOLD, "C"),
new(B_SCORE_THRESHOLD, "B"),
new(A_SCORE_THRESHOLD, "A"),
new(S_SCORE_THRESHOLD, "S"),
new(S_PLUS_SCORE_THRESHOLD, "S+"),
new(S_PLUS_PLUS_SCORE_THRESHOLD, "S++")
};
}
+2 -1
View File
@@ -1,4 +1,5 @@
using System.Text.Json.Serialization;
using SharedProject.common;
namespace SharedProject.models;
@@ -10,7 +11,7 @@ public class SongPlayData
public int MusicId { get; set; }
public SongPlayDetailData[] SongPlaySubDataList { get; set; } = new SongPlayDetailData[4];
public SongPlayDetailData[] SongPlaySubDataList { get; set; } = new SongPlayDetailData[SharedConstants.DIFFICULTY_COUNT];
public bool IsFavorite { get; set; }