playMaker

Author Topic: Events browser and tab  (Read 939 times)

Broken Stylus

  • Beta Group
  • Hero Member
  • *
  • Posts: 773
Events browser and tab
« on: December 07, 2020, 12:10:56 PM »
First, let's first talk about the Events Browser (the separate window), not the Graph View's tab.

It would be very useful to have the possibility to filter the FSMs that send events from those that receive events. Thus far we only know how many times an event is used, that is, how many times each event is used by FSMs, but we don't know how many times it's actually used as a sent event and how many times it's used as a received event.
This would be even more useful when searching for events.

Now, let's move on to the Events tab. It is already possible to display sending and receiving states, although in my Unity it's very laggy as it takes quite a while for the menu to appear after pressing the mouse's right button.
Similar sent/received columns would provide the information in a faster way.

Now, for ultra autism, further types of information might be useful to display too within each main column, if only for the sake of having a totally clear summary of how an event is used inside an FSM.

There are two types of "methods" used to send events:
  • Implicit, "radio": sent by actions from within a state without any external presence of a corresponding transition block displayed beneath this same state.
  • Explicit, "solid": an action triggers the corresponding (same named) transition block displayed beneath the state and this transition links to another state (this draws an arrowed link).

There also are two ways to receive events:
  • External, through a Global Transition: this little black box pointing down towards the receiving state. It is called Global but it actually does not only work with Global events since local ones will work too. Perhaps this is misnamed and might be confusing to newcomers.
  • Contextual, through a transition: now that one comes off as an easter egg if you don't pay attention, since an exit transition actually doubles as an entry one too! But it only listens to incoming events if its state is active.

It did happen from time to time that I wished I could have a board that provided a multi-columned display of such information for each event inside a FSM I was studying, correcting or enhancing. Now call me lazy, perhaps, but having all the data displayed in the tabs right out of the hat instead of having to click and wait on each event would be somehow appreciated. It just makes life easier.

Although this extra crispy amount of detail might not always prove necessary, it would be nice to be able to display it when needed. So like for debugging vars, a tab option would be the most likely candidate to switch this mode on.