public static void ReceiveData(byte[] data) { memoryStream.Write(data, 0, data.Length); memoryStream.Position = 0; while (reader.BaseStream.Length - reader.BaseStream.Position >= 1) { try { byte packetId = reader.ReadByte(); if (packets.ContainsKey(packetId)) { try { packets[packetId](reader); } catch (Exception ex) { Debug.Log(ex.ToString()); } } else { Debug.Log("No packet with id: " + packetId); } } catch (Exception ex) { Debug.Log("Couldn't read message: " + ex); break; } } PacketsSender.Clear(memoryStream); }
private static void RegisterEvents(WorldObject c) { Stats.RegisterChange(c.id, ObjectStats.HP, (val) => { foreach (var item in c.GetObservedUsers()) { PacketsSender.SendStat(item, c.id, ObjectStats.HP, ObjectType.INT, val); } }); }
public Client(int playerId, UdpClient udpClient, PacketsReceiver packetsReceiver, PacketsSender packetsSender, PlayersManager playersManager, MetaMonoBehaviours metaMonoBehaviours) { this.playerId = playerId; tcpConnection = null; udpIpEndPoint = null; this.metaMonoBehaviours = metaMonoBehaviours; this.udpClient = udpClient; this.packetsReceiver = packetsReceiver; this.packetsSender = packetsSender; this.playersManager = playersManager; }
public TcpConnection(int playerId, TcpClient tcpClient, PacketsReceiver packetsReceiver, PacketsSender packetsSender, PlayersManager playersManager, MetaMonoBehaviours metaMonoBehaviours) : base(metaMonoBehaviours) { this.playerId = playerId; receivePacket = new Packet(); receiveBuffer = new byte[DataBufferSize]; this.packetsReceiver = packetsReceiver; this.packetsSender = packetsSender; this.playersManager = playersManager; this.metaMonoBehaviours = metaMonoBehaviours; this.tcpClient = tcpClient; this.tcpClient.ReceiveBufferSize = DataBufferSize; this.tcpClient.SendBufferSize = DataBufferSize; }
public void OnDrop(PointerEventData eventData) { RectTransform window = transform as RectTransform; if (!RectTransformUtility.RectangleContainsScreenPoint(window, Input.mousePosition)) { Debug.Log("Drop item"); ButtonInventory dragButton = eventData.pointerDrag.GetComponentInParent <ButtonInventory>(); PacketsSender.ItemAction(RecordType.BACKPACK, PacketsSender.ActionType.DELETE, (ushort)dragButton.Slot, 0); } else { ButtonInventory dragButton = eventData.pointerDrag.GetComponentInParent <ButtonInventory>(); ButtonInventory enterButton = eventData.pointerEnter.GetComponentInParent <ButtonInventory>(); if (dragButton != null && enterButton != null) { Debug.Log(dragButton.Slot + " enters: " + enterButton.Slot); PacketsSender.ItemAction(RecordType.BACKPACK, PacketsSender.ActionType.MOVE, (ushort)dragButton.Slot, (ushort)enterButton.Slot); } } }
public static void ReceiveData(User user, byte[] data) { MemoryStream memoryStream = user.memoryStream; BinaryReader reader = user.reader; memoryStream.Write(data, 0, data.Length); memoryStream.Position = 0; while (reader.BaseStream.Length - reader.BaseStream.Position >= 1) { try { byte packetId = reader.ReadByte(); if (packets.ContainsKey(packetId)) { try { packets[packetId](user, reader); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } else { Console.WriteLine("No packet with id: " + packetId); } } catch { Console.WriteLine("Couldnt read message."); break; } } PacketsSender.Clear(memoryStream); }
private static void Test(User user, BinaryReader reader) { ushort posX = reader.ReadUInt16(); ushort posY = reader.ReadUInt16(); Console.WriteLine("Move user to: " + posX + "/" + posY); PacketsSender.MoveData data = new PacketsSender.MoveData() { id = user.Character.id, posX = posX, posY = posY }; foreach (var observedUser in user.Character.GetObservedUsers()) { PacketsSender.MoveUser(observedUser, data); } PacketsSender.MoveUser(user, data); user.Character.DestinationTimeChange = Time.time; user.Character.Pos = new Vector2UInt16(posX, posY); user.Character.Destination = new Vector2UInt16(posX, posY); }
public virtual void Click() { PacketsSender.ItemAction(RecordType.BACKPACK, PacketsSender.ActionType.USE, (ushort)Slot, 0); }
private void AddStatClick(ObjectStats stat) { PacketsSender.AddStat(stat); }
public override void Click() { PacketsSender.BuyVendorItem(FindObjectOfType <VendorWindow>().shopCharacterId, (ushort)Slot); }
public virtual void Interact() { PacketsSender.InteractWithCharacter(Id); }