コード例 #1
0
        public override bool Interactible(MemberInfo member, GameParameters parameters)
        {
            if (HighLogic.fetch != null)
            {
                if (HighLogic.LoadedSceneIsFlight)
                {
                    return(false);
                }
            }
            if (member.Name == "fatalOption")
            {
                return(parameters.CustomParams <DeepFreeze_SettingsParms>().ECreqdForFreezer);
            }
            if (member.Name == "comatoseTime")
            {
                return(parameters.CustomParams <DeepFreeze_SettingsParms>().ECreqdForFreezer&&
                       !parameters.CustomParams <DeepFreeze_SettingsParms>().fatalOption);
            }
            if (member.Name == "KSCcostToThawKerbal")
            {
                return(parameters.CustomParams <DeepFreeze_SettingsParms>().AutoRecoverFznKerbals);
            }

            return(true);
        }
コード例 #2
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (parameters.CustomParams <TAC_SettingsParms>().enabled)
     {
         return(true);
     }
     return(false);
 }
コード例 #3
0
 public override bool Interactible(System.Reflection.MemberInfo member, GameParameters parameters)
 {
     if (parameters.CustomParams <CL_GeneralSettings>().useAviationLightsEffect)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #4
0
        public override bool Interactible(MemberInfo member, GameParameters parameters)
        {
            if (HighLogic.fetch != null)
            {
                if (HighLogic.LoadedSceneIsFlight)
                {
                    if (member.Name != "TempinKelvin")
                    {
                        return(false);
                    }
                }
            }

            if (member.Name == "RegTempFreeze" || member.Name == "RegTempMonitor" || member.Name == "heatamtMonitoringFrznKerbals" || member.Name == "heatamtThawFreezeKerbal")
            {
                return(parameters.CustomParams <DeepFreeze_SettingsParms_Sec2>().RegTempReqd);
            }

            return(true);
        }
コード例 #5
0
 private static bool Prefix(GameParameters p, ref bool __result)
 {
     __result = p.CustomParams <GameParameters.AdvancedParams>().EnableFullSASInSandbox;
     return(false);
 }
コード例 #6
0
 internal static bool EnableKerbalExperience(this GameParameters p)
 {
     return(p.CustomParams <GameParameters.AdvancedParams>().EnableKerbalExperience);
 }
コード例 #7
0
 internal static bool EnableFullSASInSandbox(this GameParameters p)
 {
     // This is our own implementation of AdvancedParams EnableFullSASInSandbox for KSP < 1.6
     // For KSP 1.6+ this gets patched out and the stock setting will be used instead
     return(p.CustomParams <BSSAutopilotSettings>().enableFullSASInSandbox);
 }
コード例 #8
0
 internal static bool RequirePilotForSAS(this GameParameters p)
 {
     return(p.CustomParams <BSSAutopilotSettings>().requirePilotForSAS);
 }
コード例 #9
0
 public override bool Interactible(MemberInfo member, GameParameters parameters)
 {
     if (parameters.CustomParams<TAC_SettingsParms>().enabled)
         return true;
     return false;
 }
コード例 #10
0
 internal static int CustomLvlReqForWheelRep(this GameParameters p)
 {
     return(p.CustomParams <BSSRepairSettings>().customLvlReq);
 }
コード例 #11
0
 internal static bool OverrideLvlReqForWheelRep(this GameParameters p)
 {
     return(p.CustomParams <BSSRepairSettings>().overrideLvlReq);
 }
コード例 #12
0
 internal static bool RequireEngineerForWheelRep(this GameParameters p)
 {
     return(p.CustomParams <BSSRepairSettings>().requireEngineerForWheelRep);
 }
コード例 #13
0
        private void HandleServerSettings(byte[] messageData)
        {
            using (MessageReader mr = new MessageReader(messageData))
            {
                WarpWorker.fetch.warpMode = (WarpMode)mr.Read<int>();
                Client.fetch.gameMode = (GameMode)mr.Read<int>();
                Client.fetch.serverAllowCheats = mr.Read<bool>();
                numberOfKerbals = mr.Read<int>();
                numberOfVessels = mr.Read<int>();
                ScreenshotWorker.fetch.screenshotHeight = mr.Read<int>();
                AsteroidWorker.fetch.maxNumberOfUntrackedAsteroids = mr.Read<int>();
                ChatWorker.fetch.consoleIdentifier = mr.Read<string>();
                Client.fetch.serverDifficulty = (GameDifficulty)mr.Read<int>();
                VesselWorker.fetch.safetyBubbleDistance = mr.Read<float>();
                if (Client.fetch.serverDifficulty != GameDifficulty.CUSTOM)
                {
                    Client.fetch.serverParameters = GameParameters.GetDefaultParameters(Client.fetch.ConvertGameMode(Client.fetch.gameMode), (GameParameters.Preset)Client.fetch.serverDifficulty);
                }
                else
                {
                    GameParameters newParameters = new GameParameters();
                    GameParameters.AdvancedParams newAdvancedParameters = new GameParameters.AdvancedParams();
                    CommNet.CommNetParams newCommNetParameters = new CommNet.CommNetParams();
                    newParameters.Difficulty.AllowStockVessels = mr.Read<bool>();
                    newParameters.Difficulty.AutoHireCrews = mr.Read<bool>();
                    newParameters.Difficulty.BypassEntryPurchaseAfterResearch = mr.Read<bool>();
                    newParameters.Difficulty.IndestructibleFacilities = mr.Read<bool>();
                    newParameters.Difficulty.MissingCrewsRespawn = mr.Read<bool>();
                    newParameters.Difficulty.ReentryHeatScale = mr.Read<float>();
                    newParameters.Difficulty.ResourceAbundance = mr.Read<float>();
                    newParameters.Flight.CanQuickLoad = newParameters.Flight.CanRestart = newParameters.Flight.CanLeaveToEditor = mr.Read<bool>();
                    newParameters.Career.FundsGainMultiplier = mr.Read<float>();
                    newParameters.Career.FundsLossMultiplier = mr.Read<float>();
                    newParameters.Career.RepGainMultiplier = mr.Read<float>();
                    newParameters.Career.RepLossMultiplier = mr.Read<float>();
                    newParameters.Career.RepLossDeclined = mr.Read<float>();
                    newParameters.Career.ScienceGainMultiplier = mr.Read<float>();
                    newParameters.Career.StartingFunds = mr.Read<float>();
                    newParameters.Career.StartingReputation = mr.Read<float>();
                    newParameters.Career.StartingScience = mr.Read<float>();
                    //New KSP 1.2 Settings
                    newParameters.Difficulty.RespawnTimer = mr.Read<float>();
                    newParameters.Difficulty.EnableCommNet = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().EnableKerbalExperience = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().ImmediateLevelUp = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().AllowNegativeCurrency = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().ResourceTransferObeyCrossfeed = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().BuildingImpactDamageMult = mr.Read<float>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().PartUpgradesInCareer = newParameters.CustomParams<GameParameters.AdvancedParams>().PartUpgradesInSandbox = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().PressurePartLimits = newParameters.CustomParams<GameParameters.AdvancedParams>().GPartLimits = newParameters.CustomParams<GameParameters.AdvancedParams>().GKerbalLimits = mr.Read<bool>();
                    newParameters.CustomParams<GameParameters.AdvancedParams>().KerbalGToleranceMult = mr.Read<float>();
                    newParameters.CustomParams<CommNet.CommNetParams>().requireSignalForControl = mr.Read<bool>();
                    newParameters.CustomParams<CommNet.CommNetParams>().plasmaBlackout = mr.Read<bool>();
                    newParameters.CustomParams<CommNet.CommNetParams>().rangeModifier = mr.Read<float>();
                    newParameters.CustomParams<CommNet.CommNetParams>().DSNModifier = mr.Read<float>();
                    newParameters.CustomParams<CommNet.CommNetParams>().occlusionMultiplierVac = mr.Read<float>();
                    newParameters.CustomParams<CommNet.CommNetParams>().occlusionMultiplierAtm = mr.Read<float>();
                    newParameters.CustomParams<CommNet.CommNetParams>().enableGroundStations = mr.Read<bool>();

                    Client.fetch.serverParameters = newParameters;
                }
            }
        }