| 54 | import pcgen.util.enumeration.View; |
| 55 | |
| 56 | public class DataSet implements DataSetFacade |
| 57 | { |
| 58 | |
| 59 | private final DefaultListFacade<Race> unsortedRaces; |
| 60 | private final ListFacade<Race> races; |
| 61 | private final DefaultListFacade<PCClass> unsortedClasses; |
| 62 | private final ListFacade<PCClass> classes; |
| 63 | private final DefaultListFacade<Deity> deities; |
| 64 | private final DefaultListFacade<Skill> skills; |
| 65 | private final DefaultListFacade<PCTemplate> templates; |
| 66 | private final DefaultListFacade<PCAlignment> unsortedAlignments; |
| 67 | private final ListFacade<PCAlignment> alignments; |
| 68 | private final DefaultListFacade<Kit> kits; |
| 69 | private final DefaultListFacade<PCStat> unsortedStats; |
| 70 | private final ListFacade<PCStat> stats; |
| 71 | private final AbilityMap abilityMap; |
| 72 | private final LoadContext context; |
| 73 | private final GameMode gameMode; |
| 74 | private final ListFacade<Campaign> campaigns; |
| 75 | private Skill speakLanguageSkill = null; |
| 76 | private final DefaultListFacade<BodyStructure> bodyStructures; |
| 77 | private final DefaultListFacade<EquipmentFacade> equipment; |
| 78 | private final DefaultListFacade<String> xpTableNames; |
| 79 | private DefaultListFacade<GearBuySellFacade> gearBuySellSchemes; |
| 80 | private final DefaultListFacade<String> characterTypes; |
| 81 | private final DefaultListFacade<SizeAdjustment> unsortedSizes; |
| 82 | private final ListFacade<SizeAdjustment> sizes; |
| 83 | |
| 84 | public DataSet(LoadContext context, GameMode gameMode, ListFacade<Campaign> campaigns) |
| 85 | { |
| 86 | unsortedRaces = new DefaultListFacade<>(); |
| 87 | races = new SortedListFacade<>(new RaceComparator(), unsortedRaces); |
| 88 | unsortedClasses = new DefaultListFacade<>(); |
| 89 | classes = new SortedListFacade<>(new PCClassComparator(), unsortedClasses); |
| 90 | deities = new DefaultListFacade<>(); |
| 91 | skills = new DefaultListFacade<>(); |
| 92 | templates = new DefaultListFacade<>(); |
| 93 | unsortedAlignments = new DefaultListFacade<>(); |
| 94 | alignments = new SortedListFacade<>(Comparator.comparing(SortKeyRequired::getSortKey), unsortedAlignments); |
| 95 | unsortedStats = new DefaultListFacade<>(); |
| 96 | stats = new SortedListFacade<>(Comparator.comparing(SortKeyRequired::getSortKey), unsortedStats); |
| 97 | abilityMap = new AbilityMap(); |
| 98 | bodyStructures = new DefaultListFacade<>(); |
| 99 | equipment = new DefaultListFacade<>(); |
| 100 | xpTableNames = new DefaultListFacade<>(); |
| 101 | characterTypes = new DefaultListFacade<>(); |
| 102 | kits = new DefaultListFacade<>(); |
| 103 | unsortedSizes = new DefaultListFacade<>(); |
| 104 | sizes = new SortedListFacade<>(Comparator.comparing(size -> size.getSafe(IntegerKey.SIZEORDER)), unsortedSizes); |
| 105 | this.context = context; |
| 106 | this.gameMode = gameMode; |
| 107 | this.campaigns = campaigns; |
| 108 | initLists(); |
| 109 | } |
| 110 | |
| 111 | private void initLists() |
| 112 | { |
| 113 | List<Race> raceList = new ArrayList<>(context.getReferenceContext().getConstructedCDOMObjects(Race.class)); |
nothing calls this directly
no outgoing calls
no test coverage detected