Exemplo n.º 1
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (member.Name == "requireEngineerForWheelRep")
     {
         return(!parameters.EnableKerbalExperience());
     }
     if (member.Name == "overrideLvlReq")
     {
         return(parameters.EnableKerbalExperience());
     }
     if (member.Name == "customLvlReq")
     {
         return(parameters.EnableKerbalExperience() && parameters.OverrideLvlReqForWheelRep());
     }
     return(true);
 }
Exemplo n.º 2
0
        public override bool Enabled(MemberInfo member, GameParameters parameters)
        {
            if (member.Name == "requireEngineerForWheelRep")
            {
                return(true);
            }
            if (member.Name == "overrideLvlReq")
            {
                return(true);
            }
            if (member.Name == "customLvlReq")
            {
                return(true);
            }
            if (member.Name.StartsWith("gmDisp"))
            {
                return(true);
            }

            bool useXP = parameters.EnableKerbalExperience();

            if (member.Name == "useXPon")
            {
                return(useXP);
            }
            if (member.Name == "useXPoff")
            {
                return(!useXP);
            }

            bool reqEngg = parameters.RequireEngineerForWheelRep();
            bool ovrLvl  = parameters.OverrideLvlReqForWheelRep();

            if (member.Name == "behaviorStock")
            {
                return((useXP && !ovrLvl) || (!useXP && !reqEngg));
            }
            if (member.Name == "behaviorCustom")
            {
                return((useXP && ovrLvl) || (!useXP && reqEngg));
            }
            if (member.Name == "enggSkillDesc")
            {
                if (!useXP)
                {
                    return(false);
                }
                if (ovrLvl)
                {
                    enggSkillDesc = Localizer.Format("#BSS_LOC_REPAIR_enggskill_desc", parameters.CustomLvlReqForWheelRep().ToString());
                }
                else
                {
                    enggSkillDesc = Localizer.Format("#BSS_LOC_REPAIR_enggskill_desc", StockLvlReq.ToString());
                }
                return(true);
            }
            if (member.Name == "reqEnggDesc")
            {
                return(!useXP && reqEngg);
            }
            if (member.Name == "anyCrewDesc")
            {
                return(!useXP && !reqEngg);
            }
            return(true);
        }