Hi,
yes that starts to be very involving in terms of programming
but that's doable.
basically, instead of counting like this, you can do the following:
maintain a global fsmInt "selected player count", that represent the number of selected players.
Each players when selected ( the ui component), increase this "selected player count" by 1, and when deselected decrease the counter by 1.
straight away after you have selected or deselected a player ( still on the ui component), you check "selected player count" and disable or enable the play button like so.
You can keep the logic of enabling disabling the play button on the play button itself, simply fire a "CHECK" global event from the player ui component when selected or deselected.
Does that make sense?
bye,
Jean