Composite

eu.joaocosta.minart.backend.subsystem.LowLevelSubsystem$.Composite
See theComposite companion object
case class Composite[SettingsA, SettingsB, +SubsystemA <: LowLevelSubsystem[SettingsA], +SubsystemB <: LowLevelSubsystem[SettingsB]](subsystemA: SubsystemA, subsystemB: SubsystemB) extends LowLevelSubsystem[(SettingsA, SettingsB)]

Subsystem that composes two subsystems.

It is configured via a tuple containing the settings of both subsystems.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait LowLevelSubsystem[(SettingsA, SettingsB)]
trait AutoCloseable
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Concrete methods

def changeSettings(newSettings: (SettingsA, SettingsB)): Unit

Changes the settings of the subsystem.

Changes the settings of the subsystem.

Attributes

newSettings

new settings to apply

def close(): Unit

Destroys the subsystem.

Destroys the subsystem.

Calling any operation on this object after calling close() without calling init() has an undefined behavior.

Attributes

def init(settings: (SettingsA, SettingsB)): Composite.this.type

Creates the subsystem.

Creates the subsystem.

Operations can only be called after calling this.

Attributes

settings

settings used to configure the subsystem

Returns:

this subsystem

Checks if the subsystem is created or if it has been destroyed.

Checks if the subsystem is created or if it has been destroyed.

Attributes

def settings: (SettingsA, SettingsB)

Returns the current settings.

Returns the current settings.

Attributes

Inherited methods

def ++[SettingsB, SubsystemB <: LowLevelSubsystem[SettingsB]](that: SubsystemB): Composite[Settings, SettingsB, LowLevelSubsystem, SubsystemB]

Composes this subsystem with another subsystem

Composes this subsystem with another subsystem

Attributes

Inherited from:
LowLevelSubsystem

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product