コード例 #1
0
    static int SendMessage(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 2 && TypeChecker.CheckTypes <string>(L, 2))
            {
                VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1);
                string arg0 = ToLua.ToString(L, 2);
                obj.SendMessage(arg0);
                return(0);
            }
            else if (count == 2 && TypeChecker.CheckTypes <VisowFrameWork.ByteBuffer>(L, 2))
            {
                VisowFrameWork.NetWorkManager obj  = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1);
                VisowFrameWork.ByteBuffer     arg0 = (VisowFrameWork.ByteBuffer)ToLua.ToObject(L, 2);
                obj.SendMessage(arg0);
                return(0);
            }
            else if (count == 3 && TypeChecker.CheckTypes <UnityEngine.SendMessageOptions>(L, 3))
            {
                VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1);
                string arg0 = ToLua.CheckString(L, 2);
                UnityEngine.SendMessageOptions arg1 = (UnityEngine.SendMessageOptions)ToLua.ToObject(L, 3);
                obj.SendMessage(arg0, arg1);
                return(0);
            }
            else if (count == 3 && TypeChecker.CheckTypes <object>(L, 3))
            {
                VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1);
                string arg0 = ToLua.CheckString(L, 2);
                object arg1 = ToLua.ToVarObject(L, 3);
                obj.SendMessage(arg0, arg1);
                return(0);
            }
            else if (count == 4)
            {
                VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1);
                string arg0 = ToLua.CheckString(L, 2);
                object arg1 = ToLua.ToVarObject(L, 3);
                UnityEngine.SendMessageOptions arg2 = (UnityEngine.SendMessageOptions)ToLua.CheckObject(L, 4, typeof(UnityEngine.SendMessageOptions));
                obj.SendMessage(arg0, arg1, arg2);
                return(0);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: VisowFrameWork.NetWorkManager.SendMessage"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
コード例 #2
0
        /// <summary>
        /// 接收到消息
        /// </summary>
        /// <param name="ms"></param>
        void OnReceivedMessage(MemoryStream ms)
        {
            BinaryReader r = new BinaryReader(ms);

            byte[] message = r.ReadBytes((int)(ms.Length - ms.Position));
            //int msglen = message.Length;

            ByteBuffer buffer = new ByteBuffer(message);
            int        mainId = buffer.ReadShort();

            NetWorkManager.AddEvent(mainId, buffer);
        }
コード例 #3
0
        /// <summary>
        /// 丢失链接
        /// </summary>
        void OnDisconnected(DisType dis, string msg)
        {
            Close();   //关掉客户端链接
            int protocal = dis == DisType.Exception ?
                           Protocal.Exception : Protocal.Disconnect;

            ByteBuffer buffer = new ByteBuffer();

            buffer.WriteShort((ushort)protocal);
            NetWorkManager.AddEvent(protocal, buffer);
            Debug.LogWarning("Connection was closed by the server:>" + msg + " Distype:>" + dis);
        }
コード例 #4
0
 static int NetWorkManager(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 0);
         VisowFrameWork.NetWorkManager o = VisowFrameWork.Util.NetWorkManager();
         ToLua.Push(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
コード例 #5
0
 static int setLuaDelete(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1);
         LuaFunction arg0 = ToLua.CheckLuaFunction(L, 2);
         obj.setLuaDelete(arg0);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
コード例 #6
0
 static int SendConnect(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 3);
         VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1);
         string arg0 = ToLua.CheckString(L, 2);
         int    arg1 = (int)LuaDLL.luaL_checknumber(L, 3);
         obj.SendConnect(arg0, arg1);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
コード例 #7
0
 /// <summary>
 /// 连接上服务器
 /// </summary>
 void OnConnect(IAsyncResult asr)
 {
     outStream = client.GetStream();
     client.GetStream().BeginRead(byteBuffer, 0, MAX_READ, new AsyncCallback(OnRead), null);
     NetWorkManager.AddEvent(Protocal.Connect, new ByteBuffer());
 }