コード例 #1
0
        public override bool IsValid(ProtoCrewMember astronaut)
        {
            if (!base.IsValid(astronaut))
            {
                return(false);
            }

            AstronautData astronautData = SnacksScenario.Instance.GetAstronautData(astronaut);

            if (astronautData == null)
            {
                return(false);
            }

            if (string.IsNullOrEmpty(conditionSummary))
            {
                return(false);
            }

            if (astronautData.conditionSummary.Contains(conditionSummary) && mustExist)
            {
                return(true);
            }
            else if (!astronautData.conditionSummary.Contains(conditionSummary) && !mustExist)
            {
                return(true);
            }

            return(false);
        }
コード例 #2
0
        public AstronautData GetAstronaut(string name)
        {
            var astronaut = GetAstronautByName(name);
            var result    = new AstronautData
            {
                Name         = name,
                Id           = astronaut.ID,
                Nationality  = astronaut.Nationality,
                FullyCleared = astronaut.Clearance == NASAClearance.Full
            };

            return(result);
        }
コード例 #3
0
        /// <summary>
        /// Determines if the precondition is valid.
        /// </summary>
        /// <param name="astronaut">The ProtoCrewModule to check.</param>
        /// <returns></returns>
        public virtual bool IsValid(ProtoCrewMember astronaut)
        {
            //Check the astronaut's disqualified conditions to see if the precondition is on the list. If so, then the precondition isn't valid.
            AstronautData astronautData = SnacksScenario.Instance.GetAstronautData(astronaut);

            if (astronautData == null)
            {
                return(true);
            }
            if (astronautData.disqualifiedPreconditions.Contains(name))
            {
                return(false);
            }

            return(true);
        }