OSDN Git Service

RAD-472: Double click on inventory item should wear/attach it
authorLatif Khalifa <latifer@streamgrid.net>
Fri, 21 Mar 2014 21:32:14 +0000 (22:32 +0100)
committerLatif Khalifa <latifer@streamgrid.net>
Fri, 21 Mar 2014 21:32:14 +0000 (22:32 +0100)
Radegast/GUI/Consoles/Inventory/InventoryConsole.cs

index 9ccce1e..fa2f1c8 100644 (file)
@@ -1093,6 +1093,8 @@ namespace Radegast
             if (invTree.SelectedNode.Tag is InventoryItem)
             {
                 InventoryItem item = invTree.SelectedNode.Tag as InventoryItem;
+                item = instance.COF.RealInventoryItem(item);
+
                 switch (item.AssetType)
                 {
 
@@ -1116,6 +1118,32 @@ namespace Radegast
                         script.Dock = DockStyle.Fill;
                         script.ShowDetached();
                         break;
+
+                    case AssetType.Object:
+                        if (IsAttached(item))
+                        {
+                            instance.COF.Detach(item);
+                        }
+                        else
+                        {
+                            instance.COF.Attach(item, AttachmentPoint.Default, true);
+                        }
+                        break;
+
+                    case AssetType.Bodypart:
+                    case AssetType.Clothing:
+                        if (IsWorn(item))
+                        {
+                            if (item.AssetType == AssetType.Clothing)
+                            {
+                                instance.COF.RemoveFromOutfit(item);
+                            }
+                        }
+                        else
+                        {
+                            instance.COF.AddToOutfit(item, true);
+                        }
+                        break;
                 }
             }
         }