public BaseHandle GetHandleInstantiateObj(UInt16 firstId, UInt16 secondId, BaseClientNetworkEngine networkEngine)
    {
        string handleClassName = "";

        if (m_networkMsgHandleFuncMapDict.ContainsKey(firstId))
        {
            if (m_networkMsgHandleFuncMapDict[firstId].ContainsKey(secondId))
            {
                handleClassName = m_networkMsgHandleFuncMapDict[firstId][secondId];
            }
        }
        if (string.IsNullOrEmpty(handleClassName))
        {
            return(null);
        }
        //带参数的反射类实例
        Assembly assembly = Type.GetType(handleClassName).Assembly;

        Object[] parameters = new Object[1];
        parameters[0] = networkEngine;
        BaseHandle handle = (BaseHandle)Assembly.Load(assembly.FullName).CreateInstance(handleClassName, false, BindingFlags.Default, null, parameters, null, null);

        return(handle);
    }
Beispiel #2
0
 public NpcCtrlCompleteHandle(BaseClientNetworkEngine networkEngine) :
     base(networkEngine)
 {
     Name = "NpcCtrlCompleteHandle";
 }
 public LoadTrainHandle(BaseClientNetworkEngine networkEngine) :
     base(networkEngine)
 {
     Name = "LoadTrainHandle";
 }
Beispiel #4
0
 public TrainPositionHandle(BaseClientNetworkEngine networkEngine) :
     base(networkEngine)
 {
     Name = "TrainPositionHandle";
 }
Beispiel #5
0
 public CameraRotateHandle(BaseClientNetworkEngine networkEngine) : base(networkEngine)
 {
     Name = "CameraRotateHandle";
 }
 public DivisionBigScreenHandle(BaseClientNetworkEngine networkEngine) : base(networkEngine)
 {
     Name = "DivisionBigScreenHandle";
 }
Beispiel #7
0
 public ScreenBindCameraHandle(BaseClientNetworkEngine networkEngine) : base(networkEngine)
 {
     Name = "ScreenBindCameraHandle";
 }
Beispiel #8
0
 public PingBiMenCtrlHandle(BaseClientNetworkEngine networkEngine) :
     base(networkEngine)
 {
     Name = "PingBiMenCtrlHandle";
 }
Beispiel #9
0
 public TrainDoorCtrlHandle(BaseClientNetworkEngine networkEngine) :
     base(networkEngine)
 {
     Name = "TrainDoorCtrlHandle";
 }
Beispiel #10
0
 public BaseHandle(BaseClientNetworkEngine networkEngine)
 {
     m_clientNetworkEngine = networkEngine;
 }
 public BaseHandle GetHandleInstantiateObj(MessageID messageId, BaseClientNetworkEngine networkEngine)
 {
     return(GetHandleInstantiateObj(messageId.FirstID, messageId.SecondID, networkEngine));
 }