本文整理汇总了C#中MyInventory.RemoveItemsOfType方法的典型用法代码示例。如果您正苦于以下问题:C# MyInventory.RemoveItemsOfType方法的具体用法?C# MyInventory.RemoveItemsOfType怎么用?C# MyInventory.RemoveItemsOfType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MyInventory
的用法示例。
在下文中一共展示了MyInventory.RemoveItemsOfType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MoveItemsToConstructionStockpile
public void MoveItemsToConstructionStockpile(MyInventory fromInventory)
{
if (MySession.Static.CreativeMode)
return;
m_tmpComponents.Clear();
GetMissingComponents(m_tmpComponents);
if (m_tmpComponents.Count() != 0)
{
EnsureConstructionStockpileExists();
m_stockpile.ClearSyncList();
foreach (var kv in m_tmpComponents)
{
var id = new MyDefinitionId(typeof(MyObjectBuilder_Component), kv.Key);
int amountAvailable = (int)fromInventory.GetItemAmount(id);
int moveAmount = Math.Min(kv.Value, amountAvailable);
if (moveAmount > 0)
{
fromInventory.RemoveItemsOfType(moveAmount, id);
m_stockpile.AddItems(moveAmount, new MyDefinitionId(typeof(MyObjectBuilder_Component), kv.Key));
}
}
CubeGrid.SyncObject.SendStockpileChanged(this, m_stockpile.GetSyncList());
m_stockpile.ClearSyncList();
}
}
示例2: MoveFirstItemToConstructionStockpile
public void MoveFirstItemToConstructionStockpile(MyInventory fromInventory)
{
if (MySession.Static.CreativeMode)
{
return;
}
EnsureConstructionStockpileExists();
MyComponentStack.GroupInfo info = ComponentStack.GetGroupInfo(0);
m_stockpile.ClearSyncList();
if ((int)fromInventory.GetItemAmount(info.Component.Id) >= 1)
{
//Other player cant move your inventory and you also when trying to cosntruct so its safe already after check above ^^
fromInventory.RemoveItemsOfType(1, info.Component.Id, MyItemFlags.None);
//Debug.Assert(removed, "Item not found, but reported available few lines above");
m_stockpile.AddItems(1, info.Component.Id);
}
CubeGrid.SyncObject.SendStockpileChanged(this, m_stockpile.GetSyncList());
m_stockpile.ClearSyncList();
}