/** * Initialize the starting tech levels If the player specifies techs to cost more and has the * racial trait techs_start_high, his techs start at an increased level */ public void initStartingTechLevels() { if (race.getPRT() == PRT.JoaT) { foreach (TechField field in Enum.GetValues(typeof(TechField))) { techLevels.setLevel(field, Consts.startingTechLevelJoaT); } } int techStartVal = 0; if (race.isTechsStartHigh()) { if (race.getPRT() == PRT.JoaT) { techStartVal = Consts.startingTechLevelExtra_joat; } else { techStartVal = Consts.startingTechLevelExtra; } foreach (TechField field in Enum.GetValues(typeof(TechField))) { if (race.getResearchCost().getForField(field) == ResearchCostLevel.Extra) { techLevels.setLevel(field, techStartVal); techLevelsSpent.setLevel(field, Consts.techResearchCost[techStartVal]); } else if (race.getPRT() == PRT.JoaT) { techLevelsSpent.setLevel(field, Consts.techResearchCost[Consts.startingTechLevelJoaT]); } } } }