* allow for manual radial ordering
* use order, not i
* one third of a radial menu test
* add a unit test for the radial menu comparer
* Fildrance's suggestions, remove unused compare fn
Co-authored-by: Fildrance <14752842+Fildrance@users.noreply.github.com>
* comment order, return SortOptions to private
I was planning to use this in an integration test, but settled on a unit
test.
* comments!
---------
Co-authored-by: Fildrance <14752842+Fildrance@users.noreply.github.com>
* 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