示例#1
0
    /**
     * 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]);
                }
            }
        }
    }