public ItemContainer GetContainer(PlayerInventory.Type id) { if (id == PlayerInventory.Type.Main) { return(this.containerMain); } if (PlayerInventory.Type.Belt == id) { return(this.containerBelt); } if (PlayerInventory.Type.Wear != id) { return(null); } return(this.containerWear); }
public void UpdateContainer(float delta, PlayerInventory.Type type, ItemContainer container, bool bSendInventoryToEveryone, float temperature) { if (container == null) { return; } container.temperature = temperature; if (delta > 0f) { container.OnCycle(delta); } if (container.dirty) { this.SendUpdatedInventory(type, container, bSendInventoryToEveryone); base.baseEntity.InvalidateNetworkCache(); } }
public void SendUpdatedInventory(PlayerInventory.Type type, ItemContainer container, bool bSendInventoryToEveryone = false) { using (UpdateItemContainer updateItemContainer = Facepunch.Pool.Get <UpdateItemContainer>()) { updateItemContainer.type = (int)type; if (container != null) { container.dirty = false; updateItemContainer.container = Facepunch.Pool.Get <List <ProtoBuf.ItemContainer> >(); updateItemContainer.container.Add(container.Save()); } if (!bSendInventoryToEveryone) { base.baseEntity.ClientRPCPlayer <UpdateItemContainer>(null, base.baseEntity, "UpdatedItemContainer", updateItemContainer); } else { base.baseEntity.ClientRPC <UpdateItemContainer>(null, "UpdatedItemContainer", updateItemContainer); } } }
public void SendUpdatedInventory( PlayerInventory.Type type, ItemContainer container, bool bSendInventoryToEveryone = false) { using (UpdateItemContainer updateItemContainer = (UpdateItemContainer)Pool.Get <UpdateItemContainer>()) { updateItemContainer.type = (__Null)type; if (container != null) { container.dirty = false; updateItemContainer.container = (__Null)Pool.Get <List <ItemContainer> >(); ((List <ItemContainer>)updateItemContainer.container).Add(container.Save()); } if (bSendInventoryToEveryone) { this.baseEntity.ClientRPC <UpdateItemContainer>((Connection)null, "UpdatedItemContainer", updateItemContainer); } else { this.baseEntity.ClientRPCPlayer <UpdateItemContainer>((Connection)null, this.baseEntity, "UpdatedItemContainer", updateItemContainer); } } }
private void OnInventoryNetworkUpdate(PlayerInventory inventory, ItemContainer container, ProtoBuf.UpdateItemContainer updatedItemContainer, PlayerInventory.Type inventoryType) { if (inventoryType != PlayerInventory.Type.Main) { return; } var ruleset = GetPlayerRuleset(inventory.baseEntity.UserIDString); if (ruleset == null) { return; } AddItems(updatedItemContainer.container[0], ruleset); }