using RPG.Network.Proto; using RPG.Services.Gameserver.Modules.Attributes; using RPG.Services.Gameserver.Session; namespace RPG.Services.Gameserver.Modules; internal class PlayerModule : BaseModule { [OnCommand(CmdType.CmdSyncTimeCsReq)] public Task OnCmdSyncTimeCsReq(PlayerSession session, ReadOnlyMemory body) { SyncTimeCsReq req = SyncTimeCsReq.Parser.ParseFrom(body.Span); // TODO: TimeManager Send(session, CmdType.CmdSyncTimeScRsp, new SyncTimeScRsp { ServerTimeMs = (ulong)DateTimeOffset.Now.ToUnixTimeMilliseconds(), ClientTimeMs = req.ClientTimeMs, Retcode = 0 }); return Task.CompletedTask; } [OnCommand(CmdType.CmdGetStaminaExchangeCsReq)] public Task OnCmdGetStaminaExchangeCsReq(PlayerSession session, ReadOnlyMemory _) { Send(session, CmdType.CmdGetStaminaExchangeScRsp, new GetStaminaExchangeScRsp()); return Task.CompletedTask; } [OnCommand(CmdType.CmdGetLevelRewardTakenListCsReq)] public Task OnCmdGetLevelRewardTakenListCsReq(PlayerSession session, ReadOnlyMemory _) { Send(session, CmdType.CmdGetLevelRewardTakenListScRsp, new GetLevelRewardTakenListScRsp()); return Task.CompletedTask; } [OnCommand(CmdType.CmdGetPrestigeInfoCsReq)] public Task OnCmdGetPrestigeInfoCsReq(PlayerSession session, ReadOnlyMemory _) { Send(session, CmdType.CmdGetPrestigeInfoScRsp, new GetPrestigeInfoScRsp { PrestigeInfo = new() }); return Task.CompletedTask; } [OnCommand(CmdType.CmdGetSpringRecoverDataCsReq)] public Task OnCmdGetSpringRecoverDataCsReq(PlayerSession session, ReadOnlyMemory _) { Send(session, CmdType.CmdGetSpringRecoverDataScRsp, new GetSpringRecoverDataScRsp { SpringRecoverConfig = new(), HealPoolInfo = new() }); return Task.CompletedTask; } [OnCommand(CmdType.CmdGetHeroBasicTypeInfoCsReq)] public Task OnCmdGetHeroBasicTypeInfoCsReq(PlayerSession session, ReadOnlyMemory _) { Send(session, CmdType.CmdGetHeroBasicTypeInfoScRsp, new GetHeroBasicTypeInfoScRsp { Gender = Gender.Woman, CurBasicType = HeroBasicType.GirlWarrior, BasicTypeInfoList = { new HeroBasicTypeInfo { BasicType = HeroBasicType.GirlWarrior, Rank = 1 } } }); return Task.CompletedTask; } [OnCommand(CmdType.CmdGetHeroPathCsReq)] public Task OnCmdGetHeroPathCsReq(PlayerSession session, ReadOnlyMemory _) { Send(session, CmdType.CmdGetHeroPathScRsp, new GetHeroPathScRsp()); return Task.CompletedTask; } [OnCommand(CmdType.CmdGetMissionEventDataCsReq)] public Task OnCmdGetMissionEventDataCsReq(PlayerSession session, ReadOnlyMemory _) { Send(session, CmdType.CmdGetMissionEventDataScRsp, new GetMissionEventDataScRsp()); return Task.CompletedTask; } [OnCommand(CmdType.CmdGetMazeTimeOfDayCsReq)] public Task OnCmdGetMazeTimeOfDayCsReq(PlayerSession session, ReadOnlyMemory _) { Send(session, CmdType.CmdGetMazeTimeOfDayScRsp, new GetMazeTimeOfDayScRsp()); return Task.CompletedTask; } [OnCommand(CmdType.CmdGetDialogueEventDataCsReq)] public Task OnCmdGetDialogueEventDataCsReq(PlayerSession session, ReadOnlyMemory _) { Send(session, CmdType.CmdGetDialogueEventDataScRsp, new GetDialogueEventDataScRsp()); return Task.CompletedTask; } [OnCommand(CmdType.CmdGetRogueInfoCsReq)] public Task OnCmdGetRogueInfoCsReq(PlayerSession session, ReadOnlyMemory _) { Send(session, CmdType.CmdGetRogueInfoScRsp, new GetRogueInfoScRsp { RogueChallengeInfo = new(), RogueInfo = new() }); return Task.CompletedTask; } [OnCommand(CmdType.CmdGetLoginActivityCsReq)] public Task OnCmdGetLoginActivityCsReq(PlayerSession session, ReadOnlyMemory _) { Send(session, CmdType.CmdGetLoginActivityScRsp, new GetLoginActivityScRsp()); return Task.CompletedTask; } [OnCommand(CmdType.CmdGetChallengeRaidInfoCsReq)] public Task OnCmdGetChallengeRaidInfoCsReq(PlayerSession session, ReadOnlyMemory _) { Send(session, CmdType.CmdGetChallengeRaidInfoScRsp, new GetChallengeRaidInfoScRsp()); return Task.CompletedTask; } }