- Does not need to be attached to an object.
- Responsible for loading presentation images (textures).
- Increments/decrements current slide index. User input occurs elsewhere, though.
- Returns the current presentation image. The request is made elsewhere.
- Instantiates our PresentationModel.
- Updates our Projection object (View) by fetching the appropriate slide image from PresentationModel.
- Reacts to requests from our Google Controller event listener interface.
- Listens for user input.
- Makes requests to ProjectionController.
- Ideally, the Controller would feature directional trackpad controls, but the reality is that we only have touch, click, and the app button to work with.
- Most of the Google Daydream's interactions need to rely on being able to point at objects (via raycast), digesting what we're pointing at, and reacting accordingly. It's a glorified Wiimote.
- By default, clicking will increment the current slide index and load the next slide.
- Clicking AND interacting with a specific object will decrement and load the previous slide. Forced due to a limitation of the Daydream Controller UI.