mirror of
https://github.com/simtactics/mysimulation.git
synced 2025-03-23 18:02:23 +00:00
61 lines
1.9 KiB
C#
61 lines
1.9 KiB
C#
|
using FSO.Server.Protocol.Electron.Packets;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
|
|||
|
namespace FSO.Server.Protocol.Electron
|
|||
|
{
|
|||
|
public class ElectronPackets
|
|||
|
{
|
|||
|
public static Dictionary<ushort, Type> ELECTRON_PACKET_BY_TYPEID;
|
|||
|
public static Type[] ELECTRON_PACKETS = new Type[] {
|
|||
|
typeof(CreateASimResponse),
|
|||
|
typeof(PurchaseLotRequest),
|
|||
|
typeof(PurchaseLotResponse),
|
|||
|
typeof(InstantMessage),
|
|||
|
typeof(FindLotRequest),
|
|||
|
typeof(FindLotResponse),
|
|||
|
typeof(FSOVMTickBroadcast),
|
|||
|
typeof(FSOVMDirectToClient),
|
|||
|
typeof(FSOVMCommand),
|
|||
|
typeof(FindAvatarRequest),
|
|||
|
typeof(FindAvatarResponse),
|
|||
|
typeof(ChangeRoommateRequest),
|
|||
|
typeof(KeepAlive),
|
|||
|
typeof(ChangeRoommateResponse),
|
|||
|
typeof(ModerationRequest),
|
|||
|
typeof(FSOVMProtocolMessage),
|
|||
|
typeof(AvatarRetireRequest),
|
|||
|
typeof(MailRequest),
|
|||
|
typeof(MailResponse),
|
|||
|
typeof(NhoodRequest),
|
|||
|
typeof(NhoodResponse),
|
|||
|
typeof(NhoodCandidateList),
|
|||
|
typeof(BulletinRequest),
|
|||
|
typeof(BulletinResponse),
|
|||
|
typeof(GlobalTuningUpdate)
|
|||
|
};
|
|||
|
|
|||
|
static ElectronPackets()
|
|||
|
{
|
|||
|
ELECTRON_PACKET_BY_TYPEID = new Dictionary<ushort, Type>();
|
|||
|
foreach (Type packetType in ELECTRON_PACKETS)
|
|||
|
{
|
|||
|
IElectronPacket packet = (IElectronPacket)Activator.CreateInstance(packetType);
|
|||
|
ELECTRON_PACKET_BY_TYPEID.Add(packet.GetPacketType().GetPacketCode(), packetType);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public static Type GetByPacketCode(ushort code)
|
|||
|
{
|
|||
|
if (ELECTRON_PACKET_BY_TYPEID.ContainsKey(code))
|
|||
|
{
|
|||
|
return ELECTRON_PACKET_BY_TYPEID[code];
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|