private void OnChunkList(IAsyncReceive receiveEvent)
        {
            var data = (OnChunkList) receiveEvent;

            foreach (var chunk in data.Chunks.GetChunk())
                World.SetChunk(chunk);
        }
Example #2
0
        public void Connect()
        {
            try
            {
                var asyncReceive = new MessageAsyncReceive(msg);
                asyncReceive.BeginReceive(ReceiveCallback);

                if (mode == NetworkMode.Tcp)
                {
                    clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    session      = new TcpSession(clientSocket, asyncReceive);
                    clientSocket.Connect(ip, port);
                }
                else if (mode == NetworkMode.Udp)
                {
                    clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                    session      = new KcpSession(clientSocket, asyncReceive, clientSocket.RemoteEndPoint);
                    clientSocket.Connect(ip, port);
                    udpAsyncReceive = new AsyncReceive();
                    clientSocket.BeginReceiveFrom(udpAsyncReceive.Buffer, udpAsyncReceive.Offset, udpAsyncReceive.Size, SocketFlags.None, ref remoteEP, ReceiveFromCallback, null);
                    OnAsyncReceive += session.Receive;
                }
            }
            catch (Exception e)
            {
                Debug.LogWarning("Unable to connect to server, please check your network: " + e);
            }
        }
Example #3
0
        private void OnChunkList(IAsyncReceive receiveEvent)
        {
            var data = (OnChunkList)receiveEvent;

            foreach (var chunk in data.Chunks.GetChunk())
            {
                World.SetChunk(chunk);
            }
        }
Example #4
0
        private void OnBlockChange(IAsyncReceive receiveEvent)
        {
            var data = (OnBlockChange)receiveEvent;

            var id   = (ushort)(data.Block >> 4);
            var meta = (byte)(data.Block & 0xF);

            var block = new Block(id, meta);

            World.SetBlock(data.Location, block);
        }
        public void DoReceiveEvent(Type asyncReceiveType, IAsyncReceive data)
        {
            var any = asyncReceiveType.GetInterfaces().Any(p => p == typeof(IAsyncReceive));
            if (!any)
                throw new InvalidOperationException("AsyncReceive type must implement MineLib.Network.IAsyncReceive");

            if (!AsyncReceiveHandlers.ContainsKey(asyncReceiveType))
                return;

            AsyncReceiveHandlers[asyncReceiveType](data);
        }
Example #6
0
        private void OnMultiBlockChange(IAsyncReceive receiveEvent)
        {
            var data = (OnMultiBlockChange)receiveEvent;

            foreach (var record in data.Records)
            {
                var id   = (ushort)(record.BlockIDMeta >> 4);
                var meta = (byte)(record.BlockIDMeta & 0xF);

                World.SetBlock(record.Coordinates, data.ChunkLocation, new Block(id, meta));
            }
        }
Example #7
0
        private void OnChunk(IAsyncReceive receiveEvent)
        {
            var data = (OnChunk)receiveEvent;

            if (data.Chunk.PrimaryBitMap == 0)
            {
                World.RemoveChunk(data.Chunk.Coordinates);
                return;
            }

            // -- Add the chunk to the world
            World.SetChunk(data.Chunk);
        }
        private void OnChunk(IAsyncReceive receiveEvent)
        {
            var data = (OnChunk) receiveEvent;

            if (data.Chunk.PrimaryBitMap == 0)
            {
                World.RemoveChunk(data.Chunk.Coordinates);
                return;
            }

            // -- Add the chunk to the world
            World.SetChunk(data.Chunk);
        }
Example #9
0
 public void OnAsyncReceive(EndPoint remoteEP, IAsyncReceive asyncReceive, int count)
 {
     if (RemoteEndPoint.Equals(remoteEP))
     {
         if (count == 0)
         {
             End();
         }
         else
         {
             session.Receive(asyncReceive, count);
         }
     }
 }
Example #10
0
        public void DoReceiveEvent(Type asyncReceiveType, IAsyncReceive data)
        {
            var any = asyncReceiveType.GetInterfaces().Any(p => p == typeof(IAsyncReceive));

            if (!any)
            {
                throw new InvalidOperationException("AsyncReceive type must implement MineLib.Network.IAsyncReceive");
            }

            if (!AsyncReceiveHandlers.ContainsKey(asyncReceiveType))
            {
                return;
            }

            AsyncReceiveHandlers[asyncReceiveType](data);
        }
Example #11
0
 private void OnSpawnPoint(IAsyncReceive receiveEvent)
 {
     var data = (OnSpawnPoint)receiveEvent;
 }
Example #12
0
 private void OnHeldItemChange(IAsyncReceive receiveEvent)
 {
     var data = (OnHeldItemChange)receiveEvent;
 }
 private void OnRespawn(IAsyncReceive receiveEvent)
 {
     var data = (OnRespawn) receiveEvent;
 }
 private void OnPlayerPosition(IAsyncReceive receiveEvent)
 {
     var data = (OnPlayerPosition) receiveEvent;
 }
Example #15
0
 private void OnAction(IAsyncReceive receiveEvent)
 {
     var data = (OnAction)receiveEvent;
 }
        private void OnBlockChange(IAsyncReceive receiveEvent)
        {
            var data = (OnBlockChange) receiveEvent;

            var id = (ushort) (data.Block >> 4);
            var meta = (byte) (data.Block & 0xF);

            var block = new Block(id, meta);

            World.SetBlock(data.Location, block);
        }
 private void OnHeldItemChange(IAsyncReceive receiveEvent)
 {
     var data = (OnHeldItemChange) receiveEvent;
 }
        private void OnChatMessage(IAsyncReceive receiveEvent)
        {
            var data = (OnChatMessage) receiveEvent;

            ChatHistory.Add(data.Message);
        }
 private void OnSpawnPoint(IAsyncReceive receiveEvent)
 {
     var data = (OnSpawnPoint) receiveEvent;
 }
 private void OnSetExperience(IAsyncReceive receiveEvent)
 {
     var data = (OnSetExperience) receiveEvent;
 }
 private void OnAction(IAsyncReceive receiveEvent)
 {
     var data = (OnAction) receiveEvent;
 }
Example #22
0
 private void OnUpdateHealth(IAsyncReceive receiveEvent)
 {
     var data = (OnUpdateHealth)receiveEvent;
 }
Example #23
0
 private void OnRespawn(IAsyncReceive receiveEvent)
 {
     var data = (OnRespawn)receiveEvent;
 }
 private void OnBlockBreakAction(IAsyncReceive receiveEvent)
 {
     var data = (OnBlockBreakAction) receiveEvent;
 }
Example #25
0
 private void OnSetExperience(IAsyncReceive receiveEvent)
 {
     var data = (OnSetExperience)receiveEvent;
 }
Example #26
0
 private void OnBlockBreakAction(IAsyncReceive receiveEvent)
 {
     var data = (OnBlockBreakAction)receiveEvent;
 }
Example #27
0
        private void OnChatMessage(IAsyncReceive receiveEvent)
        {
            var data = (OnChatMessage)receiveEvent;

            ChatHistory.Add(data.Message);
        }
Example #28
0
 private void OnPlayerPosition(IAsyncReceive receiveEvent)
 {
     var data = (OnPlayerPosition)receiveEvent;
 }
 private void OnPlayerLook(IAsyncReceive receiveEvent)
 {
     var data = (OnPlayerLook) receiveEvent;
 }
Example #30
0
 private void OnPlayerLook(IAsyncReceive receiveEvent)
 {
     var data = (OnPlayerLook)receiveEvent;
 }
        private void OnMultiBlockChange(IAsyncReceive receiveEvent)
        {
            var data = (OnMultiBlockChange) receiveEvent;

            foreach (var record in data.Records)
            {
                var id = (ushort) (record.BlockIDMeta >> 4);
                var meta = (byte) (record.BlockIDMeta & 0xF);

                World.SetBlock(record.Coordinates, data.ChunkLocation, new Block(id, meta));
            }      
        }
 private void OnUpdateHealth(IAsyncReceive receiveEvent)
 {
     var data = (OnUpdateHealth) receiveEvent;  
 }