Custom Player Action Manager
Requires Quartz
If you are using SMX, you can ignore this requirement since Quartz is included in SMXcore; but if issue occurs in Control option panel, download latest Quartz and extract the .dll inside into SMXcore and overwrite.
Must be installed on both server and client. EAC must be off.
-----------------------------------------------------------------------------------------------
7 days to die manages player input by InControl, with 5 PlayerActionSet and an ActionSetManager. Those sets are: PlayerActionsLocal, PlayerActionsGlobal, PlayerActionsGUI, PlayerActionsPermanent and PlayerActionsVehicle, which are all implementation of another abstraction on PlayerActionSet: PlayerActionsBase.
If a modder wants to add a custom PlayerActionSet, he will need to create it manually at some point after mods loaded, patch XUiC_OptionsControls to insert the actions into the panels, inject into pref save and handle control reset. When this happens in multiple mods, different ways of dealing with things might conflict with each other.
With this mod, you only need to create your actions with default key mapping, and it will get all the other chores done.
Moreover, this mod adds a scrollbar to the Control option panel when the options children rect height exceeds the panel height. Note that the mouse wheel scroll is disabled due to some collision issue with NGUI, you can only scroll the view with the scrollbar.
Detailed instructions and source code on GitHub.
Credit to Laydor, the author of Quartz for guiding me on ui stuff.