/// <summary> /// Create a BasicInventoryItem and add it to the BasicInventory /// </summary> /// <param name="rInventory"></param> /// <param name="rItemID"></param> /// <param name="rMotionForm"></param> /// <param name="rResourcePath"></param> /// <param name="rUseMotions"></param> /// <param name="rAnimatorLayer"></param> public static BasicInventoryItem CreateBasicInventoryitem(this BasicInventory rInventory, string rItemID, int rMotionForm, string rResourcePath, bool rUseMotions = true, int rAnimatorLayer = 0) { if (string.IsNullOrEmpty(rItemID)) { return(null); } // First remove the item if it already exists BasicInventoryItem lItem = rInventory.GetInventoryItem(rItemID); if (lItem != null) { rInventory.Items.Remove(lItem); } lItem = new BasicInventoryItem() { ID = rItemID, EquipMotion = rUseMotions ? "BasicItemEquip" + (rAnimatorLayer > 0 ? rAnimatorLayer.ToString() : "") : string.Empty, StoreMotion = rUseMotions ? "BasicItemStore" + (rAnimatorLayer > 0 ? rAnimatorLayer.ToString() : "") : string.Empty, EquipStyle = rMotionForm, StoreStyle = rMotionForm, ResourcePath = rResourcePath }; rInventory.Items.Add(lItem); return(lItem); }
/// <summary> /// Create a new BasicInventorySet and initialize it by setting all slots to empty /// </summary> /// <param name="rBasicInventory"></param> /// <param name="rSetID"></param> /// <param name="rStance"></param> /// <param name="rDefaultForm"></param> /// <param name="rSetIndex"></param> /// <returns></returns> public static BasicInventorySet CreateInventorySet(this BasicInventory rBasicInventory, string rSetID, int rStance, int rDefaultForm, int rSetIndex) { BasicInventorySet lInventorySet = new BasicInventorySet { ID = rSetID, Stance = rStance, DefaultForm = rDefaultForm }; foreach (BasicInventorySlot lSlot in rBasicInventory.Slots) { lInventorySet.CreateEmptySetItem(lSlot.ID); } rBasicInventory.WeaponSets.Insert(rSetIndex, lInventorySet); return(lInventorySet); }
/// <summary> /// Check if an item already exists in the Basic Inventory /// </summary> /// <param name="rInventory"></param> /// <param name="rItemID"></param> /// <returns></returns> public static bool HasInventoryItem(this BasicInventory rInventory, string rItemID) { var lItem = rInventory.GetInventoryItem(rItemID); return(lItem != null); }