Fusion constructor

Fusion({
  1. required List<Persona> source,
  2. required Persona target,
})

Implementation

Fusion({required this.source, required this.target})
    : assert(source.containsDuplicate() == false,
          'Source list contains duplicates'),
      assert(!source.contains(target), 'Source list contains target'),
      cost = source.fold(
          0,
          (previousValue, element) => (previousValue +
                  (pow(element.level, 2) * 27 + 126 * element.level + 2147))
              .toInt());