using Google.Protobuf; using RPG.Network.Proto; using RPG.Services.Gameserver.Session; namespace RPG.Services.Gameserver.Modules; internal abstract class BaseModule { protected static void Send(PlayerSession session, CmdType cmdType, TBody body) where TBody : IMessage { session.SendToService(RPGServiceType.Gateserver, ServiceCommandType.ForwardGameMessage, new CmdForwardGameMessage { SessionId = session.SessionId, CmdType = (ushort)cmdType, Payload = body.ToByteString() }); } }