An intent has a set of key/value pairs right? In getextras. So we can
just add extra bits to that when we need to extend the intents we pass
round? So we start by having a key eventType with "shot" as a possible
value, so we can just formalise the getting shot event and then work
on others as we find we need them?
I might work on an Intent to JSON string class so we can easily send
intent data to the server.
>> Activities for the UI
>>> main screen for health/ammo status
>>> "orders" UI - compass heading and distance, with a textual message underneath ("expect fire", "take cover" etc)
>>> config interfaces
>>> work out some kind of interface "flow" for setting up the gun and starting a game
I'd imagine we need (at least) 2 different flows?
Flow 1) Gun
1) Pair with Gun (Qr code or manual)
2) Gun gets info about the game via IR game server (?) to get it set
up. It tells the phone the status and game type
Or are we going with 1.5 and having the phone set up the game then get
out of the way?
Flow 2) Experimental
1) Pair with Gun
2) Acquire game server ID (probably just URL). (QR code or manual)
Maybe customised to skip the next phase?
3) Download possible roles/names/teams and code to assign it. Somehow
get assigned one of those.
4) Download custom game code for the role?
>> demonstrate that dynamic class loading is easy and workable
>>> also find an easier way to package and test the jar files
>>> write up a game mode interface and test some simple modes out.
>>> perhaps have these as services that interact with the UI using intents?
We will want them running in the background if the user decides to
change music etc, so I think services are the way forward.