public void AddLiquid(ItemDefinition liquidType, int amount) { if (amount <= 0) { return; } Item item = GetItem(); Item item2 = item.contents.GetSlot(0); ItemModContainer component = item.info.GetComponent <ItemModContainer>(); if (item2 == null) { ItemManager.Create(liquidType, amount, 0uL)?.MoveToContainer(item.contents); return; } int num = Mathf.Clamp(item2.amount + amount, 0, component.maxStackSize); ItemDefinition itemDefinition = WaterResource.Merge(item2.info, liquidType); if (itemDefinition != item2.info) { item2.Remove(); item2 = ItemManager.Create(itemDefinition, num, 0uL); item2.MoveToContainer(item.contents); } else { item2.amount = num; } item2.MarkDirty(); SendNetworkUpdateImmediate(); }
public void AddLiquid(ItemDefinition liquidType, int amount) { if (amount <= 0) { return; } Item obj = this.GetItem(); Item slot = obj.contents.GetSlot(0); ItemModContainer component = (ItemModContainer)((Component)obj.info).GetComponent <ItemModContainer>(); if (slot == null) { ItemManager.Create(liquidType, amount, 0UL)?.MoveToContainer(obj.contents, -1, true); } else { int iAmount = Mathf.Clamp(slot.amount + amount, 0, component.maxStackSize); ItemDefinition template = WaterResource.Merge(slot.info, liquidType); if (Object.op_Inequality((Object)template, (Object)slot.info)) { slot.Remove(0.0f); slot = ItemManager.Create(template, iAmount, 0UL); slot.MoveToContainer(obj.contents, -1, true); } else { slot.amount = iAmount; } slot.MarkDirty(); this.SendNetworkUpdateImmediate(false); } }
public void AddLiquid(ItemDefinition liquidType, int amount) { if (amount <= 0) { return; } Item item = this.GetItem(); Item slot = item.contents.GetSlot(0); ItemModContainer component = item.info.GetComponent <ItemModContainer>(); if (slot != null) { int num = Mathf.Clamp(slot.amount + amount, 0, component.maxStackSize); ItemDefinition itemDefinition = WaterResource.Merge(slot.info, liquidType); if (itemDefinition == slot.info) { slot.amount = num; } else { slot.Remove(0f); slot = ItemManager.Create(itemDefinition, num, (ulong)0); slot.MoveToContainer(item.contents, -1, true); } slot.MarkDirty(); base.SendNetworkUpdateImmediate(false); } else { Item item1 = ItemManager.Create(liquidType, amount, (ulong)0); if (item1 != null) { item1.MoveToContainer(item.contents, -1, true); return; } } }