ToggleComponent.sprite constructor

ToggleComponent.sprite({
  1. required bool value,
  2. required ValueChanged<bool> onChanged,
  3. required Sprite enabledSprite,
  4. required Sprite disabledSprite,
  5. Sprite? disabledVisualSprite,
  6. Vector2? position,
  7. Vector2? size,
  8. Vector2? spriteSize,
  9. bool disabled = false,
  10. void onAnimate(
    1. PositionComponent visual,
    2. bool newValue
    )?,
})

Convenience constructor for creating a ToggleComponent with sprites.

value is the initial state of the toggle. onChanged is the callback invoked when the toggle value changes. enabledSprite is the sprite for the enabled state. disabledSprite is the sprite for the disabled state. disabledVisualSprite is the sprite shown when disabled is true (optional).

Implementation

ToggleComponent.sprite({
  required bool value,
  required ValueChanged<bool> onChanged,
  required Sprite enabledSprite,
  required Sprite disabledSprite,
  Sprite? disabledVisualSprite,
  Vector2? position,
  Vector2? size,
  Vector2? spriteSize,
  this.disabled = false,
  this.onAnimate,
}) : _value = value,
     _onChanged = onChanged,
     _valueOn = SpriteComponent(
       sprite: enabledSprite,
       size: spriteSize ?? size ?? Vector2.all(32),
     ),
     _valueOff = SpriteComponent(
       sprite: disabledSprite,
       size: spriteSize ?? size ?? Vector2.all(32),
     ),
     _disabledComponent =
         disabledVisualSprite != null
             ? SpriteComponent(
               sprite: disabledVisualSprite,
               size: spriteSize ?? size ?? Vector2.all(32),
             )
             : null,
     super(
       position: position ?? Vector2.zero(),
       size: size ?? spriteSize ?? Vector2.all(32),
     );