* Clean up EntityListDisplay
* Rename EntityListDisplay to ListContainer
* Rename stuff
* Rework ListContainer
* Add tests
* Replace IControlData with record ListData
* Make _data non-nullable
* Fix test record items being duplicates
* Split filter method from populate
* Rename UpdateList to DirtyList
* Replace _count with _data.Count
* Clarify local variable toRemove
* Cleanup
* Add data selection to ListContainer
* Add selection test
* Fix comments and test name
* Fix ListContainer layout hiding items when scaled
* Add test for ListContainer top item
* Toggle fix
* Ensure buttons are re-generated
* Update unread count on select
* a
* Fix toggle test
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Create ItemSlotButton
* Refactor inventory buttons
Refactor so that KeyBind handling of inventory and hands are the same.
* Refactor InventoryInterfaceController to call ItemSlotManager with entities
This change allows HandsGUI and InventoryInterfaceController to just call ItemSlotManager.OnButtonPressed with an entity instead of a slot.
* Add CooldownCircle to ItemSlotButton
This allows Hands and Inventory to have cooldown circles on their ItemSlots.
* Refactor HandsGUI to use ItemSlots
This allows functionality and GUI to be the same between Inventory and Hands.
Added clicking empty hand to switch ActiveHand to clicked hand.
* Implement CooldownCircle in ItemSlotManager
Reorganize files