51 lines
1.1 KiB
C#
51 lines
1.1 KiB
C#
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Net;
|
|
#if UNITY_WP8
|
|
using UnityPortSocket;
|
|
#else
|
|
using System.Net.Sockets;
|
|
#endif
|
|
using System.Collections;
|
|
|
|
namespace SPacket.SocketInstance
|
|
{
|
|
|
|
public interface PacketFactory
|
|
{
|
|
MessageID GetPacketID();
|
|
}
|
|
|
|
public abstract class PacketFactoryManager
|
|
{
|
|
|
|
public abstract bool Init ();
|
|
|
|
public Ipacket GetPacketHandler(MessageID nMID)
|
|
{
|
|
Ipacket result;
|
|
return m_HandlerDic.TryGetValue(nMID, out result) ? result : null;
|
|
}
|
|
|
|
public void RemovePacket(Ipacket pPacket)
|
|
{
|
|
//if (pPacket == null) return;
|
|
}
|
|
|
|
|
|
protected void AddFactory(PacketFactory pFactory)
|
|
{
|
|
m_Factories[pFactory.GetPacketID()] = pFactory;
|
|
}
|
|
|
|
protected void AddPacketHander(MessageID nMID, Ipacket packetHander)
|
|
{
|
|
m_HandlerDic[nMID] = packetHander;
|
|
}
|
|
|
|
protected Hashtable m_Factories = new Hashtable();
|
|
protected Dictionary<MessageID, Ipacket> m_HandlerDic = new Dictionary<MessageID, Ipacket>();
|
|
}
|
|
} |