Idea wielofunkcyjności fire to te same zagadnienie, które ja mam przy grach flashowych z myszką :-)
Jeśli mogę popowiedzieć: naciśnięcie fire (fire_isDown) załącza oczekiwanie na event puszczenia (fire_isUp). W momencie wykrycia fire_isUp dochodzą do głosu dodatkowe metody: key_isPressed i mouse_onIcon - mouse_onIcon odrzucamy, a gdy przyjmiemy, że joy to nic innego jak cztery klawisze, wtedy mamy full akcji, które możemy wykorzystać:
fire_isUp + joy_isPressed (15) - przełącznik (tylko fire, joy w pozycji 0 )
fire_isUp + joy_isPressed (wszystkie możliwe wartości kierunków i skosów) - akcje dla kierunków (w NS to strzelanie)
tak więc gdyby akcję z joy_isPressed(key_down) przenieść na fire_isUp + joy_isPressed (15) to można by sterowanie zrobić na 4 kierunki.
Tak mi się przypomniało - tam wybór przedmiotów chyba jest przez przycisniecie samego fire - można zasymulować "shortClick" (czyli krótkie przyciśnięcie i szybkie puszczenie fire) i "longClick" (przytrzymanie fire) jako dwa osobne przyciski jeżeli przy fire_isDown będziemy zapisywać czas naciśnięcia.
Nie mówiąc o tym, że i "doubleClick" też da się wtedy łatwo stworzyć :-)