/// <summary>
        /// Create a BasicInventorySetItem for the specified slot
        /// </summary>
        /// <param name="rBasicInventorySet"></param>
        /// <param name="rSlotID"></param>
        /// <param name="rItemID"></param>
        /// <param name="rInstantiate"></param>
        public static BasicInventorySetItem CreateSetItem(this BasicInventorySet rBasicInventorySet, string rSlotID, string rItemID,
                                                          bool rInstantiate = true)
        {
            if (string.IsNullOrEmpty(rSlotID))
            {
                return(null);
            }

            BasicInventorySetItem lWeaponSetItem = rBasicInventorySet.Items.FirstOrDefault(x => x.SlotID == rSlotID);

            if (lWeaponSetItem != null)
            {
                lWeaponSetItem.ItemID      = rItemID;
                lWeaponSetItem.Instantiate = rInstantiate;
                return(lWeaponSetItem);
            }

            lWeaponSetItem = new BasicInventorySetItem
            {
                ItemID      = rItemID,
                SlotID      = rSlotID,
                Instantiate = rInstantiate
            };
            rBasicInventorySet.Items.Add(lWeaponSetItem);

            return(lWeaponSetItem);
        }
        /// <summary>
        /// Create an empty BasicInventorySetItem for the specified slot
        /// </summary>
        /// <param name="rBasicInventorySet"></param>
        /// <param name="rSlotID"></param>
        public static BasicInventorySetItem CreateEmptySetItem(this BasicInventorySet rBasicInventorySet, string rSlotID)
        {
            if (string.IsNullOrEmpty(rSlotID))
            {
                return(null);
            }

            BasicInventorySetItem lWeaponSetItem = new BasicInventorySetItem
            {
                ItemID      = "",
                SlotID      = rSlotID,
                Instantiate = false
            };

            rBasicInventorySet.Items.Add(lWeaponSetItem);

            return(lWeaponSetItem);
        }