Implement saving settings

This commit is contained in:
Kei-Luna
2026-05-09 20:03:28 +09:00
parent 7507d10072
commit bdb4ee3d51
11 changed files with 110 additions and 10 deletions

View File

@@ -1,4 +1,4 @@
using Google.Protobuf;
using Google.Protobuf;
using MikuSB.Data;
using MikuSB.Database;
using MikuSB.Database.Account;
@@ -230,6 +230,11 @@ public class PlayerInstance(PlayerGameData data)
proto.Attrs[ToShiftedAttrKey(gid, sid)] = val;
}
foreach (var x in Data.StrAttrs)
{
proto.StrAttrs[ToShiftedAttrKey(x.Gid, x.Sid)] = x.Val;
}
proto.ShowItems.AddRange(Data.ShowItems);
return proto;
@@ -251,6 +256,22 @@ public class PlayerInstance(PlayerGameData data)
Data.ShowItems[index - 1] = itemId;
}
public void SetStrAttr(uint gid, uint sid, string value)
{
var attr = Data.StrAttrs.FirstOrDefault(x => x.Gid == gid && x.Sid == sid);
if (attr == null)
{
attr = new PlayerStrAttr
{
Gid = gid,
Sid = sid
};
Data.StrAttrs.Add(attr);
}
attr.Val = value;
}
public uint ToPackedAttrKey(uint gid, uint sid)
{
if (gid == 0)