-------------------------------
-- STAND-ALONE SERVER --
-------------------------------
//1: TNLobbyLink.cs
public virtual void SendPacket(Packet packet, params object[] objs)
{
mLobby.SendPacket(packet, objs);
}
//2: TNLobbyServer.cs
public abstract void SendPacket(Packet packet, params object[] objs);
//3: TNTcpLobbyLink.cs
else if (response == Packet.ResponsePacket)
{
int player_id = reader.ReadInt32();
string s = reader.ReadString();
mGameServer.LobbyLink_ResponsePacket(player_id, s);
}
//4: TNTcpLobbyServer.cs
public override void SendPacket(Packet packet, params object[] objs)
{
//
}
//5: TNUdpLobbyServer.cs
public override void SendPacket(Packet packet, params object[] objs)
{
//
}
//6: TNTcpLobbyLink.cs
public override void SendPacket(Packet packet, params object[] objs)
{
BinaryWriter writer = mTcp.BeginSend(packet);
foreach (object o in objs)
{
if (o
.GetType() == typeof(string)) {
writer.Write((string)o);
}
else if (o
.GetType() == typeof(byte)) {
writer.Write((byte)o);
}
else if (o
.GetType() == typeof(int)) {
writer.Write((int)o);
}
else if (o
.GetType() == typeof(long)) {
writer.Write((long)o);
}
else if (o
.GetType() == typeof(bool)) {
writer.Write((bool)o);
}
else
{
Console.WriteLine("unknown type: {0}", o.GetType());
}
}
mTcp.EndSend();
}
//7: TNGameServer.cs
internal void LobbyLink_ResponsePacket(int player_id, string s)
{
TcpPlayer player = GetPlayer(player_id);
if (player != null)
{
BinaryWriter writer = BeginSend(Packet.WEPPN_ResponsePacket);
writer.Write(s);
EndSend(true, player);
}
}