Example #1
0
        public float GetScienceValue(ModuleScienceExperiment baseExperiment, Dictionary <string, int> shipCotainsExperiments, ScienceSubject currentScienceSubject)
        {
            var currentExperiment = baseExperiment as DMModuleScienceAnimate;
            var scienceExperiment = ResearchAndDevelopment.GetExperiment(baseExperiment.experimentID);

            if (DMAPI.isAsteroidGrappled(currentExperiment))
            {
                return(Utilities.Science.GetScienceValue(shipCotainsExperiments, scienceExperiment, currentScienceSubject /*, null, GetNextScienceValue*/));
            }
            else
            {
                return(Utilities.Science.GetScienceValue(shipCotainsExperiments, scienceExperiment, currentScienceSubject));
            }
        }
Example #2
0
        public ScienceSubject GetScienceSubject(ModuleScienceExperiment baseExperiment)
        {
            var currentExperiment = baseExperiment as DMModuleScienceAnimate;

            if (DMAPI.isAsteroidGrappled(baseExperiment))
            {
                return(DMAPI.getAsteroidSubject(currentExperiment));
            }
            else
            {
                ExperimentSituations situation = ScienceUtil.GetExperimentSituation(FlightGlobals.ActiveVessel);
                var biome = DMAPI.getBiome(baseExperiment, situation);
                _AutomatedScienceSamplerInstance.Log(biome, "_", situation, "_", ResearchAndDevelopment.GetExperimentSubject(ResearchAndDevelopment.GetExperiment(currentExperiment.experimentID), situation, FlightGlobals.currentMainBody, biome) == null);
                return(ResearchAndDevelopment.GetExperimentSubject(ResearchAndDevelopment.GetExperiment(currentExperiment.experimentID), situation, FlightGlobals.currentMainBody, biome));
            }
        }
        public ScienceSubject GetScienceSubject(ModuleScienceExperiment baseExperiment)
        {
            var currentExperiment = baseExperiment as DMModuleScienceAnimate;

            if (DMAPI.isAsteroidGrappled(baseExperiment))
            {
                return(DMAPI.getAsteroidSubject(currentExperiment));
            }
            else
            {
                ExperimentSituations situation = ScienceUtil.GetExperimentSituation(FlightGlobals.ActiveVessel);
                var biome = DMAPI.getBiome(baseExperiment, situation);
                if (biome == null)
                {
                    Log("Biome is null.");
                    return(null);
                }
                var scienceSubject = ResearchAndDevelopment.GetExperimentSubject(ResearchAndDevelopment.GetExperiment(currentExperiment.experimentID), situation, FlightGlobals.currentMainBody, biome, ScienceUtil.GetBiomedisplayName(FlightGlobals.currentMainBody, biome));
                Log(biome, "_", situation, "_", scienceSubject == null);
                return(scienceSubject);
            }
        }