private void OnChunkList(IAsyncReceive receiveEvent) { var data = (OnChunkList) receiveEvent; foreach (var chunk in data.Chunks.GetChunk()) World.SetChunk(chunk); }
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); } }
private void OnChunkList(IAsyncReceive receiveEvent) { var data = (OnChunkList)receiveEvent; foreach (var chunk in data.Chunks.GetChunk()) { World.SetChunk(chunk); } }
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); }
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 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); }
public void OnAsyncReceive(EndPoint remoteEP, IAsyncReceive asyncReceive, int count) { if (RemoteEndPoint.Equals(remoteEP)) { if (count == 0) { End(); } else { session.Receive(asyncReceive, count); } } }
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); }
private void OnSpawnPoint(IAsyncReceive receiveEvent) { var data = (OnSpawnPoint)receiveEvent; }
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; }
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; }
private void OnUpdateHealth(IAsyncReceive receiveEvent) { var data = (OnUpdateHealth)receiveEvent; }
private void OnRespawn(IAsyncReceive receiveEvent) { var data = (OnRespawn)receiveEvent; }
private void OnBlockBreakAction(IAsyncReceive receiveEvent) { var data = (OnBlockBreakAction) receiveEvent; }
private void OnSetExperience(IAsyncReceive receiveEvent) { var data = (OnSetExperience)receiveEvent; }
private void OnBlockBreakAction(IAsyncReceive receiveEvent) { var data = (OnBlockBreakAction)receiveEvent; }
private void OnChatMessage(IAsyncReceive receiveEvent) { var data = (OnChatMessage)receiveEvent; ChatHistory.Add(data.Message); }
private void OnPlayerPosition(IAsyncReceive receiveEvent) { var data = (OnPlayerPosition)receiveEvent; }
private void OnPlayerLook(IAsyncReceive receiveEvent) { var data = (OnPlayerLook) receiveEvent; }
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; }