| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package org.leumasjaffe.charsheet.entity.magic;
- import java.util.ArrayList;
- import java.util.List;
- import com.fasterxml.jackson.annotation.JsonCreator;
- import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
- import lombok.AccessLevel;
- import lombok.Data;
- import lombok.NonNull;
- import lombok.experimental.FieldDefaults;
- @Data
- @FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
- @JsonIgnoreProperties(ignoreUnknown=true)
- public class DDSpellList {
- @NonNull Source group;
-
- @NonNull List<List<Integer>> known;
- @NonNull List<List<Integer>> perDay;
- @NonNull List<SpellList> spellList;
- @Data
- public static class SpellList {
- @NonNull List<DDSpell> spellList;
-
- @JsonCreator
- public SpellList(List<String> data) {
- this.spellList = new ArrayList<>(data.size());
- int idx = -1;
- for ( final String name : data ) {
- if ((idx = name.indexOf(':')) != -1) {
- spellList.add(DDSpellFactory.loadSpellWithResource(name.substring(0, idx), name.substring(idx)));
- } else {
- spellList.add(DDSpellFactory.loadSpell(name));
- }
- }
- }
- }
- }
|