Exemplo n.º 1
0
 public static new Packet FromNetBuffer(NetIncomingMessage incomingMessage)
 {
     var id = incomingMessage.ReadInt32();
     var type = (ContentType) incomingMessage.ReadByte();
     var packet = new ContentRequestPacket(type, id);
     return packet;
 }
Exemplo n.º 2
0
        private void lstIndex_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Send a release request quickly

            ReleaseContent();

            // Make the request
            var type = GetActiveContentPage().ContentType;
            var request = new ContentRequestPacket(type, (lstIndex.SelectedItem as EditorTemplateEntry).ID);

            // Send the request
            NetworkManager.Instance.SendPacket(request);
        }
Exemplo n.º 3
0
        private void Handler(ContentRequestPacket contentRequestPacket)
        {
            var type = contentRequestPacket.ContentType;
            object o = null;
            var locked = !_contentLockManager.TryAcquireLock(contentRequestPacket.Sender, contentRequestPacket.ID,
                                                            contentRequestPacket.ContentType);

            if (!locked)
            {

                switch (type)
                {
                    case ContentType.Item:
                        o = GetItemByID(contentRequestPacket.ID);
                        break;
                    case ContentType.Skill:
                        o = GetSkillByID(contentRequestPacket.ID);
                        break;
                    case ContentType.Map:
                        o = GetMapByID(contentRequestPacket.ID);
                        break;
                    default:
                        Logger.Instance.Log(Level.Warn,
                                            "The client has requested a resource with an unknown identifier.");
                        return;
                }
            }

            var packet = new ContentResultPacket(o, locked, contentRequestPacket.ContentType);
            ClientNetworkManager.Instance.SendPacket(packet, contentRequestPacket.Sender);
        }