Files
EpinelPS/EpinelPS/LobbyServer/Event/Minigame/AZX/GetAzxData.cs
qmengz 91cbedf46c feat: Implement AZX mini-game functionality and related event handling - 实现 AZX 小游戏功能及相关事件处理 (#69)
- Added new classes for handling AZX mini-game events including entering, finishing, and retrieving data.
- Introduced helper methods for managing rewards, rankings, and achievements within the AZX mini-game.
- Updated existing event handling to include user-specific data for events and mini-games.
- Enhanced user model to store AZX mini-game data and private banner IDs.
- Modified event response structures to accommodate new data fields related to AZX mini-game.
- Implemented logging for better traceability of AZX mini-game actions and errors.
2025-12-06 20:55:31 -05:00

43 lines
1.6 KiB
C#

using EpinelPS.Data;
using EpinelPS.Utils;
using log4net;
namespace EpinelPS.LobbyServer.Event.Minigame.AZX
{
[PacketPath("/event/minigame/azx/get/data")]
public class GetAzxData : LobbyMsgHandler
{
private static readonly ILog log = LogManager.GetLogger(typeof(LobbyMsgHandler));
protected override async Task HandleAsync()
{
// int AzxId
ReqGetMiniGameAzxData req = await ReadData<ReqGetMiniGameAzxData>();
User user = GetUser();
// ResGetMiniGameAzxData Fields
// NetMiniGameAzxDailyMissionData DailyMissionData
// RepeatedField<NetMiniGameAzxAchievementMissionData> AchievementMissionDataList
// RepeatedField<NetMiniGameAzxCutSceneData> CutSceneList
// int SelectedBoardId
// int SelectedCharacterId
// RepeatedField<NetMiniGameAzxConditionalBoardData> ConditionalBoardDataList
// RepeatedField<NetMiniGameAzxConditionalCharacterData> ConditionalCharacterDataList
// RepeatedField<NetMiniGameAzxConditionalSkillData> ConditionalSkillDataList
// bool IsTutorialConfirmed
ResGetMiniGameAzxData response = new()
{
DailyMissionData = new NetMiniGameAzxDailyMissionData()
{
DailyAccumulatedScore = 0,
IsDailyRewarded = false,
},
};
// TODO: Add implementation for AchievementMissionDataList, CutSceneList, etc.
AzxHelper.GetAzxData(user, req.AzxId, ref response);
await WriteDataAsync(response);
}
}
}