예제 #1
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (member.Name == "enableFullSASInSandbox")
     {
         return(!parameters.EnableKerbalExperience());
     }
     if (member.Name == "requirePilotForSAS")
     {
         return
             (!parameters.EnableKerbalExperience() &&
              !parameters.EnableFullSASInSandbox());
     }
     return(true);
 }
예제 #2
0
        public override bool Enabled(MemberInfo member, GameParameters parameters)
        {
            if (member.Name == "requirePilotForSAS")
            {
                return(true);
            }
            if (member.Name.StartsWith("gmDisp"))
            {
                return(true);
            }

            bool useXP = parameters.EnableKerbalExperience();

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

            bool freeSAS = parameters.EnableFullSASInSandbox();

            if (BSSAutopilot.KSP_1_6_plus)
            {
                if (member.Name == "freeSASon")
                {
                    return(!useXP && freeSAS);
                }
                if (member.Name == "freeSASoff")
                {
                    return(!useXP && !freeSAS);
                }
                if (member.Name == "enableFullSASInSandbox")
                {
                    return(false);
                }
            }
            else
            {
                if (member.Name == "freeSASon" || member.Name == "freeSASoff")
                {
                    return(false);
                }
                if (member.Name == "enableFullSASInSandbox")
                {
                    return(true);
                }
            }

            if (member.Name == "behaviorStock")
            {
                return(useXP || freeSAS);
            }
            if (member.Name == "behaviorCustom")
            {
                return(!useXP && !freeSAS);
            }
            if (member.Name == "freeSASdesc")
            {
                return(!useXP && freeSAS);
            }

            bool reqPilot = parameters.RequirePilotForSAS();

            if (member.Name == "reqPilotOn")
            {
                return(!useXP && !freeSAS && reqPilot);
            }
            if (member.Name == "reqPilotOff")
            {
                return(!useXP && !freeSAS && !reqPilot);
            }
            return(true);
        }