本文整理汇总了C#中Inventory.GetItem方法的典型用法代码示例。如果您正苦于以下问题:C# Inventory.GetItem方法的具体用法?C# Inventory.GetItem怎么用?C# Inventory.GetItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Inventory
的用法示例。
在下文中一共展示了Inventory.GetItem方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: countItems
private Dictionary<int, MutableInt> countItems(dynamic items, Inventory inv) {
Dictionary<int, MutableInt> response = new Dictionary<int, MutableInt>();
foreach (var child in items.rgInventory) {
Inventory.Item item = inv.GetItem(ulong.Parse(((JProperty) child).Name));
if (response.ContainsKey(item.Defindex)) {
response[item.Defindex].increment();
} else {
response.Add(item.Defindex, new MutableInt());
}
}
return response;
}
示例2: CraftItem
public static bool CraftItem(int amount, Inventory workbenchInv, BlueprintDataBlock BDB)
{
if (!BDB.CanWork(amount, workbenchInv))
{
return false;
}
int num = 0;
PlayerClient playerClient = Array.Find(AllPlayerClients.ToArray(), (PlayerClient pc) => pc.netPlayer == workbenchInv.networkView.owner);
if (playerClient != null)
{
if (!restrictCrafting.Contains(BDB.resultItem.name) || craftList.Contains(playerClient.userID.ToString()))
{
for (int i = 0; i < BDB.ingredients.Length; i++)
{
int count = BDB.ingredients[i].amount * amount;
if (count != 0)
{
int num4 = BDB.lastCanWorkIngredientCount[i];
for (int j = 0; j < num4; j++)
{
IInventoryItem item;
int slot = BDB.lastCanWorkResult[num++];
if (workbenchInv.GetItem(slot, out item) && item.Consume(ref count))
{
workbenchInv.RemoveItem(slot);
}
}
}
}
}
else
{
Broadcast.noticeTo(workbenchInv.networkView.owner, "♨", "You cannot craft this item!", 4);
return false;
}
}
else
{
if (!restrictCrafting.Contains(BDB.resultItem.name))
{
for (int i = 0; i < BDB.ingredients.Length; i++)
{
int count = BDB.ingredients[i].amount * amount;
if (count != 0)
{
int num4 = BDB.lastCanWorkIngredientCount[i];
for (int j = 0; j < num4; j++)
{
IInventoryItem item;
int slot = BDB.lastCanWorkResult[num++];
if (workbenchInv.GetItem(slot, out item) && item.Consume(ref count))
{
workbenchInv.RemoveItem(slot);
}
}
}
}
}
else
{
Broadcast.noticeTo(workbenchInv.networkView.owner, "♨", "You cannot craft this item!", 4);
return false;
}
}
workbenchInv.AddItemAmount(BDB.resultItem, amount * BDB.numResultItem);
return true;
}