A feature I would love to see is for buttons to be able to call functions with an enum type argument for instance…
public enum type {
fire, water
}
public void SetType(type t) {
//content
}
Currently buttons don’t acknowledge these functions as being available. It would be incredibly nice if we could not only see these functions, but assign an enum value to pass in.
This would be awesome (if it works for custom defined PropertyDrawer and DecoratorDrawer), although if ever multiple parameters are going to be supported, then its probably necessary to put the attribute on the parameter:
public void SetSomeFloat([RangeParameter(0f, 100f)]float param) {
However, I am not sure how the current interface of the PropertyDrawer could fit in here (as the drawer usually gets a whole line to play with and should print out the property label as well - which can even be potentially larger.
Still… IMHO, an robust UI for an event system is a big big plus for Unity. (You also should put someone to look into displaying dynamically registered events in the UI during playmode. Its not impossible. Just hard. And you are about solving hard problems, right? )
Yes, it’s straightforward but the results are less satisfactory. With a string, you’re not restricted to inputting only valid names. With an enum, you can’t make a typo.
It’s been a year already. Enum parameters isn’t a fancy or complicated feature, but it needs to happen.