// Token: 0x06000172 RID: 370 RVA: 0x0000D4A8 File Offset: 0x0000B6A8
        private Message readMessage2(sbyte cmd)
        {
            int num  = (int)Session_ME2.readKey(Session_ME2.dis.ReadSByte()) + 128;
            int num2 = (int)Session_ME2.readKey(Session_ME2.dis.ReadSByte()) + 128;
            int num3 = (int)Session_ME2.readKey(Session_ME2.dis.ReadSByte()) + 128;
            int num4 = (num3 * 256 + num2) * 256 + num;

            Cout.LogError("SIZE = " + num4);
            sbyte[] array = new sbyte[num4];
            byte[]  src   = Session_ME2.dis.ReadBytes(num4);
            Buffer.BlockCopy(src, 0, array, 0, num4);
            Session_ME2.recvByteCount += 5 + num4;
            int num5 = Session_ME2.recvByteCount + Session_ME2.sendByteCount;

            Session_ME2.strRecvByteCount = string.Concat(new object[]
            {
                num5 / 1024,
                ".",
                num5 % 1024 / 102,
                "Kb"
            });
            if (Session_ME2.getKeyComplete)
            {
                for (int i = 0; i < array.Length; i++)
                {
                    array[i] = Session_ME2.readKey(array[i]);
                }
            }
            return(new Message(cmd, array));
        }
 // Token: 0x0600016E RID: 366 RVA: 0x0000D1DC File Offset: 0x0000B3DC
 public void run()
 {
     while (Session_ME2.connected)
     {
         try
         {
             if (Session_ME2.getKeyComplete)
             {
                 while (this.sendingMessage.Count > 0)
                 {
                     Message m = this.sendingMessage[0];
                     Session_ME2.doSendMessage(m);
                     this.sendingMessage.RemoveAt(0);
                 }
             }
             try
             {
                 Thread.Sleep(5);
             }
             catch (Exception ex)
             {
                 Cout.LogError(ex.ToString());
             }
         }
         catch (Exception)
         {
             Res.outz("error send message! ");
         }
     }
 }
 // Token: 0x06000170 RID: 368 RVA: 0x0000D284 File Offset: 0x0000B484
 public void run()
 {
     try
     {
         while (Session_ME2.connected)
         {
             Message message = this.readMessage();
             if (message == null)
             {
                 break;
             }
             try
             {
                 if ((int)message.command == -27)
                 {
                     this.getKey(message);
                 }
                 else
                 {
                     Session_ME2.onRecieveMsg(message);
                 }
             }
             catch (Exception)
             {
                 Cout.println("LOI NHAN  MESS THU 1");
             }
             try
             {
                 Thread.Sleep(5);
             }
             catch (Exception)
             {
                 Cout.println("LOI NHAN  MESS THU 2");
             }
         }
     }
     catch (Exception ex)
     {
         Debug.Log("error read message!");
         Debug.Log(ex.Message.ToString());
     }
     if (Session_ME2.connected)
     {
         if (Session_ME2.messageHandler != null)
         {
             if (Session_ME2.currentTimeMillis() - Session_ME2.timeConnected > 500)
             {
                 Session_ME2.messageHandler.onDisconnected(Session_ME2.isMainSession);
             }
             else
             {
                 Session_ME2.messageHandler.onConnectionFail(Session_ME2.isMainSession);
             }
         }
         if (Session_ME2.sc != null)
         {
             Session_ME2.cleanNetwork();
         }
     }
 }
示例#4
0
 // Token: 0x0600012E RID: 302 RVA: 0x000040CD File Offset: 0x000022CD
 private void OnApplicationQuit()
 {
     Debug.LogWarning("APP QUIT");
     GameCanvas.bRun = false;
     Session_ME.gI().close();
     Session_ME2.gI().close();
     if (Main.isPC)
     {
         Application.Quit();
     }
 }
 // Token: 0x06000173 RID: 371 RVA: 0x0000D5E4 File Offset: 0x0000B7E4
 private Message readMessage()
 {
     try
     {
         sbyte b = Session_ME2.dis.ReadSByte();
         if (Session_ME2.getKeyComplete)
         {
             b = Session_ME2.readKey(b);
         }
         if ((int)b == -32 || (int)b == -66 || (int)b == 11 || (int)b == -67 || (int)b == -74 || (int)b == -87)
         {
             return(this.readMessage2(b));
         }
         int num;
         if (Session_ME2.getKeyComplete)
         {
             sbyte b2 = Session_ME2.dis.ReadSByte();
             sbyte b3 = Session_ME2.dis.ReadSByte();
             num = (((int)Session_ME2.readKey(b2) & 255) << 8 | ((int)Session_ME2.readKey(b3) & 255));
         }
         else
         {
             sbyte b4 = Session_ME2.dis.ReadSByte();
             sbyte b5 = Session_ME2.dis.ReadSByte();
             num = (((int)b4 & 65280) | ((int)b5 & 255));
         }
         sbyte[] array = new sbyte[num];
         byte[]  src   = Session_ME2.dis.ReadBytes(num);
         Buffer.BlockCopy(src, 0, array, 0, num);
         Session_ME2.recvByteCount += 5 + num;
         int num2 = Session_ME2.recvByteCount + Session_ME2.sendByteCount;
         Session_ME2.strRecvByteCount = string.Concat(new object[]
         {
             num2 / 1024,
             ".",
             num2 % 1024 / 102,
             "Kb"
         });
         if (Session_ME2.getKeyComplete)
         {
             for (int i = 0; i < array.Length; i++)
             {
                 array[i] = Session_ME2.readKey(array[i]);
             }
         }
         return(new Message(b, array));
     }
     catch (Exception ex)
     {
         Debug.Log(ex.StackTrace.ToString());
     }
     return(null);
 }
 // Token: 0x06000934 RID: 2356 RVA: 0x000838EC File Offset: 0x00081AEC
 public void initGame()
 {
     GameMidlet.instance   = this;
     MotherCanvas.instance = new MotherCanvas();
     Session_ME.gI().setHandler(Controller.gI());
     Session_ME2.gI().setHandler(Controller.gI());
     Session_ME2.isMainSession = false;
     GameMidlet.instance       = this;
     GameMidlet.gameCanvas     = new GameCanvas();
     GameMidlet.gameCanvas.start();
     SplashScr.loadImg();
     SplashScr.loadSplashScr();
     GameCanvas.currentScreen = new SplashScr();
 }
 // Token: 0x06000160 RID: 352 RVA: 0x0000CDA8 File Offset: 0x0000AFA8
 public void doConnect(string host, int port)
 {
     Session_ME2.sc = new TcpClient();
     Session_ME2.sc.Connect(host, port);
     Session_ME2.dataStream = Session_ME2.sc.GetStream();
     Session_ME2.dis        = new BinaryReader(Session_ME2.dataStream, new UTF8Encoding());
     Session_ME2.dos        = new BinaryWriter(Session_ME2.dataStream, new UTF8Encoding());
     new Thread(new ThreadStart(Session_ME2.sender.run)).Start();
     Session_ME2.MessageCollector @object = new Session_ME2.MessageCollector();
     Cout.LogError("new -----");
     Session_ME2.collectorThread = new Thread(new ThreadStart(@object.run));
     Session_ME2.collectorThread.Start();
     Session_ME2.timeConnected = Session_ME2.currentTimeMillis();
     Session_ME2.connecting    = false;
     Session_ME2.doSendMessage(new Message(-27));
 }
示例#8
0
 // Token: 0x06000125 RID: 293 RVA: 0x0000BBF8 File Offset: 0x00009DF8
 private void OnGUI()
 {
     if (this.count < 10)
     {
         return;
     }
     this.checkInput();
     Session_ME.update();
     Session_ME2.update();
     if (Event.current.type.Equals(EventType.Repaint) && this.paintCount <= this.updateCount)
     {
         GameMidlet.gameCanvas.paint(Main.g);
         this.paintCount++;
         Main.g.reset();
     }
 }
 // Token: 0x06000167 RID: 359 RVA: 0x000043D3 File Offset: 0x000025D3
 public void close()
 {
     Session_ME2.cleanNetwork();
 }
 // Token: 0x06000162 RID: 354 RVA: 0x0000CE68 File Offset: 0x0000B068
 private static void doSendMessage(Message m)
 {
     sbyte[] data = m.getData();
     try
     {
         if (Session_ME2.getKeyComplete)
         {
             sbyte value = Session_ME2.writeKey(m.command);
             Session_ME2.dos.Write(value);
         }
         else
         {
             Session_ME2.dos.Write(m.command);
         }
         if (data != null)
         {
             int num = data.Length;
             if (Session_ME2.getKeyComplete)
             {
                 int num2 = (int)Session_ME2.writeKey((sbyte)(num >> 8));
                 Session_ME2.dos.Write((sbyte)num2);
                 int num3 = (int)Session_ME2.writeKey((sbyte)(num & 255));
                 Session_ME2.dos.Write((sbyte)num3);
             }
             else
             {
                 Session_ME2.dos.Write((ushort)num);
             }
             if (Session_ME2.getKeyComplete)
             {
                 for (int i = 0; i < data.Length; i++)
                 {
                     sbyte value2 = Session_ME2.writeKey(data[i]);
                     Session_ME2.dos.Write(value2);
                 }
             }
             Session_ME2.sendByteCount += 5 + data.Length;
         }
         else
         {
             if (Session_ME2.getKeyComplete)
             {
                 int num4 = 0;
                 int num5 = (int)Session_ME2.writeKey((sbyte)(num4 >> 8));
                 Session_ME2.dos.Write((sbyte)num5);
                 int num6 = (int)Session_ME2.writeKey((sbyte)(num4 & 255));
                 Session_ME2.dos.Write((sbyte)num6);
             }
             else
             {
                 Session_ME2.dos.Write(0);
             }
             Session_ME2.sendByteCount += 5;
         }
         Session_ME2.dos.Flush();
     }
     catch (Exception ex)
     {
         Debug.Log(ex.StackTrace);
     }
 }