UnitCard constructor

UnitCard({
  1. required CardSet cardSet,
  2. required int orderInSet,
  3. required String name,
  4. required Set<Aspect> aspects,
  5. required int cost,
  6. required Set<Trait> traits,
  7. required int power,
  8. required int hp,
  9. Arena arena = Arena.ground,
  10. String? title,
})

Creates a unit card with the given properties.

Errors

This class is not intended to be used with user-provided input, and as such does not provide any error handling. If any of the fields are invalid, an error will be thrown.

Implementation

UnitCard({
  required super.cardSet,
  required super.orderInSet,
  required super.name,
  required super.aspects,
  required super.cost,
  required super.traits,
  required this.power,
  required this.hp,
  this.arena = Arena.ground,
  this.title,
})  : isLeader = false,
      super(unique: title != null) {
  if (title != null) {
    checkNotEmpty(value: title!, name: 'title');
  }
  RangeError.checkNotNegative(power, 'power');
  checkPositive(hp, 'hp');
}