I've added it to 3.9.4.
You can simply name your buttons 1, 2, 3 and 4 -- then do
void SetPlayers () { int.TryParse(UIButton.current.name, out players); }
Not sure what "UnityEvent to store a EventDelegate" means. :P
UnityEvent supports static values, but only if the function has a single parameter. Even if I was to consider switching to it, I can't do it as it will completely break all backwards compatibility, in addition to forcing everyone to set up multiple function calls instead of a single function with multiple parameters.