private void InvSlot_Clicked(object sender, WidgetClickedEventArgs e)
        {
            var inventoryWidget = this.GuiManager.GetWidget <WidgetContainer>("inventoryWidget");

            // Calculate slot number
            Picture slotItemPic   = (Picture)sender;
            Vector2 normalizedPos = slotItemPic.Position - inventoryWidget.Position;
            int     col           = ((int)normalizedPos.X - Constants.INVENTORY_OFFSET_X) / Constants.INV_SLOT_OFFSET;
            int     row           = ((int)normalizedPos.Y - Constants.INVENTORY_OFFSET_Y) / Constants.INV_SLOT_OFFSET;

            int slotNum = (row * 5) + col;

            if (e.MouseButton == MouseButtons.Right)
            {
                if (Keyboard.GetState().IsKeyDown(Keys.LeftShift) || Keyboard.GetState().IsKeyDown(Keys.RightShift))
                {
                    // Drop the item
                    var packet = new Packet(PacketType.DROP_ITEM);
                    packet.Message.Write(slotNum);
                    Client.ServiceLocator.GetService <NetHandler>().SendMessage(packet.Message, NetDeliveryMethod.ReliableOrdered, ChannelType.UNASSIGNED);
                }
                else
                {
                    // Equip the item
                    var packet = new Packet(PacketType.REQ_USE_ITEM);
                    packet.Message.Write(slotNum);
                    Client.ServiceLocator.GetService <NetHandler>().SendMessage(packet.Message, NetDeliveryMethod.ReliableOrdered, ChannelType.UNASSIGNED);
                }
            }
        }
        private void ResponseLabel_Clicked(object sender, WidgetClickedEventArgs e)
        {
            var packet = new Packet(PacketType.DIALOGUE_RESP);

            packet.Message.Write(_dialogueUniqueID);
            packet.Message.Write(((Label)sender).Text);
            Client.ServiceLocator.GetService <NetHandler>().SendMessage(packet.Message, NetDeliveryMethod.ReliableOrdered, ChannelType.UNASSIGNED);
        }
示例#3
0
        private void ResponseLabel_Clicked(object sender, WidgetClickedEventArgs e)
        {
            var packet = new Packet(PacketType.DIALOGUE_RESP);

            packet.Message.Write(_dialogueBranchName);
            packet.Message.Write(((IWidget)sender).Tag.ToString());
            packet.Message.Write(((Label)sender).Text);
            Engine.Services.Get <NetHandler>().SendMessage(packet.Message, NetDeliveryMethod.ReliableOrdered, ChannelType.UNASSIGNED);
        }
        private void EquipSlot_Clicked(object sender, WidgetClickedEventArgs e)
        {
            if (e.MouseButton == MouseButtons.Right)
            {
                // Get the slot number, which is stored in the tag property.
                int slotNum = int.Parse(((Picture)sender).Tag);

                // Unequip the item
                var packet = new Packet(PacketType.REQ_UNEQUIP_ITEM);
                packet.Message.Write(slotNum);
                Client.ServiceLocator.GetService <NetHandler>().SendMessage(packet.Message, NetDeliveryMethod.ReliableOrdered, ChannelType.UNASSIGNED);
            }
        }
示例#5
0
 private void MuteMusicCheckbox_Clicked(object sender, WidgetClickedEventArgs e)
 {
     MediaPlayer.IsMuted = ((Checkbox)sender).Value;
 }
示例#6
0
 private void WebsiteButton_Clicked(object sender, WidgetClickedEventArgs e)
 {
     System.Diagnostics.Process.Start(Settings.Website);
 }
示例#7
0
 private void WebsiteButton_Clicked(object sender, WidgetClickedEventArgs e)
 {
     System.Diagnostics.Process.Start("https://www.mmorpgcreation.com");
 }