当前位置: 首页>>代码示例>>C#>>正文


C# ItemStack.AsItem方法代码示例

本文整理汇总了C#中ItemStack.AsItem方法的典型用法代码示例。如果您正苦于以下问题:C# ItemStack.AsItem方法的具体用法?C# ItemStack.AsItem怎么用?C# ItemStack.AsItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ItemStack的用法示例。


在下文中一共展示了ItemStack.AsItem方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: MoveOrMergeItem

 protected internal virtual int MoveOrMergeItem(int index, ItemStack item, WindowArea from)
 {
     int emptyIndex = -1;
     for (int i = 0; i < Length; i++)
     {
         if (this[i].Empty && emptyIndex == -1)
             emptyIndex = i;
         else if (this[i].Id == item.Id &&
             this[i].Metadata == item.Metadata &&
             this[i].Count < item.AsItem().MaximumStack)
         {
             // Merging takes precedence over empty slots
             emptyIndex = -1;
             if (from != null)
                 from[index] = ItemStack.EmptyStack;
             if (this[i].Count + item.Count > item.AsItem().MaximumStack)
             {
                 item = new ItemStack(item.Id, (sbyte)(item.Count - (item.AsItem().MaximumStack - this[i].Count)),
                     item.Metadata, item.Nbt);
                 this[i] = new ItemStack(item.Id, (sbyte)item.AsItem().MaximumStack, item.Metadata, item.Nbt);
                 continue;
             }
             this[i] = new ItemStack(item.Id, (sbyte)(this[i].Count + item.Count), item.Metadata);
             return i;
         }
     }
     if (emptyIndex != -1)
     {
         if (from != null)
             from[index] = ItemStack.EmptyStack;
         this[emptyIndex] = item;
     }
     return emptyIndex;
 }
开发者ID:cpancake,项目名称:Craft.Net,代码行数:34,代码来源:WindowArea.cs

示例2: GetLinkedArea

 protected override WindowArea GetLinkedArea(int index, ItemStack slot)
 {
     if (!slot.Empty && slot.AsItem() is IArmorItem && (index == 2 || index == 3))
         return Armor;
     if (index == 0 || index == 1 || index == 3)
         return MainInventory;
     return Hotbar;
 }
开发者ID:cpancake,项目名称:Craft.Net,代码行数:8,代码来源:InventoryWindow.cs


注:本文中的ItemStack.AsItem方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。