lobby part 1, idk what i'm doing

This commit is contained in:
rafi1212122
2023-06-10 07:27:06 +07:00
parent f2e83c93dd
commit f9e0aa8e1f
17 changed files with 494 additions and 53 deletions

View File

@@ -0,0 +1,27 @@
using Common.Resources.Proto;
using PemukulPaku.GameServer.MPModule;
namespace PemukulPaku.GameServer.Handlers.One
{
[PacketCmdId(CmdId.CreateLobbyReq)]
internal class CreateLobbyReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
CreateLobbyReq Data = packet.GetDecodedBody<CreateLobbyReq>();
Team team = Lobby.GetInstance().CreateTeam(new(Data.StageId, Data.MinLevel, Data.LobbyEnterType, session, Data.TeamName));
CreateLobbyRsp Rsp = new()
{
retcode = CreateLobbyRsp.Retcode.Succ,
LobbyId = team.LeaderUid,
StageId = team.StageId,
MinLevel = team.MinLevel,
LobbyEnterType = team.LobbyEnterType,
MaxLevel = 0,
TeamName = team.Name
};
session.Send(Packet.FromProto(Rsp, CmdId.CreateLobbyRsp));
}
}
}

View File

@@ -0,0 +1,24 @@
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.One
{
[PacketCmdId(CmdId.GetMpDataReq)]
internal class GetMpDataReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
GetMpDataRsp Rsp = new()
{
retcode = GetMpDataRsp.Retcode.Succ,
DataType = MpDataType.MpDataAll,
op_type = GetMpDataRsp.OpType.InitData,
MpLevel = 1,
MpExp = 0,
TeamAvatarId = session.Player.GetDetailData().LeaderAvatar.AvatarId,
PunishEndTime = 0
};
session.Send(Packet.FromProto(Rsp, CmdId.GetMpDataRsp));
}
}
}

View File

@@ -0,0 +1,27 @@
using Common;
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.One
{
[PacketCmdId(CmdId.GetWeekDayActivityDataReq)]
internal class GetWeekDayActivityDataReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
GetWeekDayActivityDataRsp Rsp = new() { retcode = GetWeekDayActivityDataRsp.Retcode.Succ };
Rsp.ActivityLists.Add(new()
{
ActivityId = 1003,
StageIdLists = new uint[] { 101302, 101303, 101304, 101305 },
EnterTimes = 1,
BeginTime = 0,
EndTime = (uint)Global.GetUnixInSeconds() + 3600 * 24 * 7,
ActivityEndTime = (uint)Global.GetUnixInSeconds() * (10 / 8),
ForceOpenTime = 0
});
session.Send(Packet.FromProto(Rsp, CmdId.GetWeekDayActivityDataRsp));
}
}
}

View File

@@ -0,0 +1,13 @@
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.One
{
[PacketCmdId(CmdId.MpGetTeamReq)]
internal class MpGetTeamReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
session.Send(Packet.FromProto(new MpGetTeamRsp() { retcode = MpGetTeamRsp.Retcode.NotInTeam }, CmdId.GetMpDataRsp));
}
}
}

View File

@@ -0,0 +1,13 @@
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.One
{
[PacketCmdId(CmdId.MpMemberSetClientStatusReq)]
internal class MpMemberSetClientStatusReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
session.Send(Packet.FromProto(new MpMemberSetClientStatusRsp() { retcode = MpMemberSetClientStatusRsp.Retcode.Succ }, CmdId.MpMemberSetClientStatusRsp));
}
}
}

View File

@@ -0,0 +1,27 @@
using Common.Resources.Proto;
using PemukulPaku.GameServer.MPModule;
namespace PemukulPaku.GameServer.Handlers.One
{
[PacketCmdId(CmdId.MpTeamEnterLobbyReq)]
public class MpTeamEnterLobbyReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
MpTeamEnterLobbyReq Data = packet.GetDecodedBody<MpTeamEnterLobbyReq>();
Lobby.GetInstance().Teams.TryGetValue(session.Player.User.Uid, out Team? team);
MpTeamEnterLobbyRsp Rsp = new() { retcode = MpTeamEnterLobbyRsp.Retcode.NotInTeam };
if (team is not null)
{
team.StageId = Data.StageId;
Lobby.GetInstance().SyncTeam(session.Player.User.Uid);
Rsp.retcode = MpTeamEnterLobbyRsp.Retcode.Succ;
Rsp.StageId = team.StageId;
Rsp.TeamId = team.LeaderUid;
Rsp.TeamName = team.Name;
}
session.Send(Packet.FromProto(Rsp, CmdId.MpTeamEnterLobbyRsp));
}
}
}