indigo.shared.subsystems

Type members

Classlikes

final case class RegisteredSubSystem(id: String, subSystem: SubSystem)
trait SubSystem

SubSystems are mini Indigo games. They contain similar functions to the full games, and allow you to compartmentalise parts of your game logic. They are strictly separated from the rest of your game, and can only communicate with your game via events. They hold their own state, and rely on the composable nature of SceneUpdateFragments to (optionally) present game elements back to the player. Sub systems can be used for all sorts of things, such as rendering parallax backgrounds or encapsulating communication with a browser / network.

SubSystems are mini Indigo games. They contain similar functions to the full games, and allow you to compartmentalise parts of your game logic. They are strictly separated from the rest of your game, and can only communicate with your game via events. They hold their own state, and rely on the composable nature of SceneUpdateFragments to (optionally) present game elements back to the player. Sub systems can be used for all sorts of things, such as rendering parallax backgrounds or encapsulating communication with a browser / network.

Companion:
object
object SubSystem
Companion:
class
final class SubSystemFrameContext(val gameTime: GameTime, val dice: Dice, val inputState: InputState, val boundaryLocator: BoundaryLocator)

Similar to [FrameContext] but without access to start up data. The SubSystemFrameContext is the context in which the current frame will be processed. In includes values that are unique to this frame, and also globally available services.

Similar to [FrameContext] but without access to start up data. The SubSystemFrameContext is the context in which the current frame will be processed. In includes values that are unique to this frame, and also globally available services.

Value parameters:
boundaryLocator

A service that can be interogated for the calculated dimensions of screen elements.

dice

A psuedorandom number generator, made predicatable/reproducable by being seeded on the current running time.

gameTime

A sampled instance of time that you should use everywhere that you need a time value.

inputState

A snapshot of the state of the various input methods, also allows input mapping of combinations of inputs.

Companion:
object
final class SubSystemsRegister()

Types

opaque type SubSystemId