コード例 #1
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="ip"></param>
    /// <param name="port"></param>
    public void Connect(string ip, int port)
    {
        MPNetClient mpnet = new MPNetClient(m_PrefabConnecterId);

        mpnet.Connect(ip, port);

        mpnet.AddEventListener(MPEvent.CONNECTION, delegate(BaseEvent evt)
        {
            IMPObject par = evt.Params;
            if ((bool)par["success"])
            {
                IMPObject mpo  = MPObject.NewInstance();
                mpo["test1"]   = 22;
                mpo["test2"]   = 22;
                mpo["test3"]   = 33;
                LuaTable table = mpo.ToLuaTable();
                GTLib.NetManager.DispatchLuaEvent("conn1", table);
            }
            else
            {
                GTLib.NetManager.DispatchLuaEvent("lost1", null);
            }
        });
        mpnet.AddEventListener(MPEvent.CONNECTION_LOST, delegate(BaseEvent evt)
        {
            GTLib.NetManager.KillConnection(m_PrefabConnecterId);
            GTLib.NetManager.DispatchLuaEvent("lost1", null);
        });

        GTLib.NetManager.AddMPNetClient(mpnet);
    }
コード例 #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="mpnet"></param>
 /// <param name="cmd"></param>
 /// <param name="parameters"></param>
 internal void HandleExtension(MPNetClient mpnet, string cmd, IMPObject parameters)
 {
     if (extensionMessages.ContainsKey(mpnet.Id))
     {
         Hashtable messages = extensionMessages[mpnet.Id];
         ExtensionMessageDelegate delegate2 = messages[cmd] as ExtensionMessageDelegate;
         if (delegate2 != null)
         {
             try
             {
                 delegate2(parameters);
             }
             catch (Exception exception)
             {
                 throw new Exception(string.Concat("Error extension handler [", cmd, "]: ", exception.Message, " ", exception.StackTrace), exception);
             }
         }
     }
     if (luaExtensionMessages.ContainsKey(mpnet.Id))
     {
         Hashtable   messages  = luaExtensionMessages[mpnet.Id];
         LuaFunction delegate2 = messages[cmd] as LuaFunction;
         if (delegate2 != null)
         {
             delegate2.Call(parameters.ToLuaTable());
         }
     }
 }