public void SetBlockSet(BlockSet blockSet) { this.blockSet = blockSet; index = Mathf.Clamp(index, 0, blockSet.GetBlockCount() + blockSet.GetItemCount()); if (index < blockSet.GetBlockCount()) { BuildBlock(blockSet.GetBlock(index)); } if (index > blockSet.GetBlockCount()) { BuildItem(blockSet.GetItem(index - blockSet.GetBlockCount())); } }
private static Entity DrawInventory(BlockSet blockSet, ref Vector2 scrollPosition, Entity selected) { scrollPosition = GUILayout.BeginScrollView(scrollPosition); int y = 0; for (int i = 0; i < blockSet.GetBlockCount(); y++) { GUILayout.BeginHorizontal(); for (int x = 0; x < 8; x++, i++) { Block block = blockSet.GetBlock(i); if (DrawBlock(block, block == BlockUnderSelection && BlockUnderSelection != null)) { selected = block; IsBlockUnderSelection = true; } } GUILayout.EndHorizontal(); } for (int i = 0; i < blockSet.GetItemCount(); y++) { GUILayout.BeginHorizontal(); for (int x = 0; x < 8; x++, i++) { Item item = blockSet.GetItem(i); if (DrawBlock(item, item == ItemUnderSelection && ItemUnderSelection != null)) { selected = item; IsItemUnderSelection = true; } } GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); return(selected); }