mirror of
https://github.com/MikuLeaks/MikuSB.git
synced 2026-06-04 13:23:58 +00:00
some changes
- girl favorite - immediately read new item - save database on request login
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
using MikuSB.Enums.Item;
|
||||
using MikuSB.Proto;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace MikuSB.GameServer.Server.CallGS.Handlers.Girl;
|
||||
|
||||
[CallGSApi("GirlCard_SetRoleLikeFlag")]
|
||||
public class GirlCard_SetRoleLikeFlag : ICallGSHandler
|
||||
{
|
||||
public async Task Handle(Connection connection, string param, ushort seqNo)
|
||||
{
|
||||
var player = connection.Player!;
|
||||
var girlData = JsonSerializer.Deserialize<SetRoleLikeFlagParam>(param);
|
||||
if (girlData == null) return;
|
||||
|
||||
var cardData = player.CharacterManager.GetCharacterByGUID(girlData.CardId);
|
||||
if (cardData == null) return;
|
||||
|
||||
cardData.Flag = girlData.Flag == 1
|
||||
? ItemFlagEnum.FLAG_ROLE_LIKE
|
||||
: ItemFlagEnum.FLAG_READED;
|
||||
|
||||
var sync = new NtfSyncPlayer
|
||||
{
|
||||
Items = { cardData.ToProto() }
|
||||
};
|
||||
|
||||
await CallGSRouter.SendScript(connection, "GirlCard_SetRoleLikeFlag", "{}", sync);
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class SetRoleLikeFlagParam
|
||||
{
|
||||
[JsonPropertyName("nFlag")]
|
||||
public int Flag { get; set; }
|
||||
|
||||
[JsonPropertyName("nCardID")]
|
||||
public uint CardId { get; set; }
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
using MikuSB.Proto;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace MikuSB.GameServer.Server.CallGS.Handlers.Daily;
|
||||
namespace MikuSB.GameServer.Server.CallGS.Handlers.Girl;
|
||||
|
||||
[CallGSApi("GirlSkin_Change")]
|
||||
public class GirlSkin_Change : ICallGSHandler
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Nodes;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace MikuSB.GameServer.Server.CallGS.Handlers.Girl;
|
||||
|
||||
[CallGSApi("GirlSkin_ChangeSkinType")]
|
||||
public class GirlSkin_ChangeSkinType : ICallGSHandler
|
||||
{
|
||||
public async Task Handle(Connection connection, string param, ushort seqNo)
|
||||
{
|
||||
var req = JsonSerializer.Deserialize<ChangeSkinTypeParam>(param);
|
||||
var response = new JsonObject
|
||||
{
|
||||
["nType"] = req?.Type ?? 1,
|
||||
["nSkinId"] = req?.SkinId
|
||||
};
|
||||
// TODO change type in proto Item ??
|
||||
await CallGSRouter.SendScript(connection, "GirlSkin_ChangeSkinType", response.ToJsonString());
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class ChangeSkinTypeParam
|
||||
{
|
||||
[JsonPropertyName("nType")]
|
||||
public int? Type { get; set; }
|
||||
|
||||
[JsonPropertyName("nSkinId")]
|
||||
public uint? SkinId { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user