Пример #1
0
        protected override bool PrivateUpdate(ScenarioFrame frame)
        {
            SimPersonality clan = Manager as SimPersonality;

            foreach (SimDescription sim in clan.GetClanMembers(false))
            {
                clan.CheckRetention(sim);
            }

            if ((mScenarios == null) || (mScenarios.Count == 0))
            {
                IncStat("No Choices");
                return(false);
            }

            WeightOption scenario = RandomUtil.GetWeightedRandomObjectFromList(mScenarios.ToArray()) as WeightOption;

            if (scenario == null)
            {
                IncStat("Bad Choice");
                return(false);
            }

            if (!mFirst)
            {
                if (scenario is SimPersonality.IMustBeFirstChoiceOption)
                {
                    IncStat("Must Be First");
                    return(false);
                }
            }

            mFirst = false;

            mScenarios.Remove(scenario);

            Add(frame, scenario.GetScenario(), ScenarioResult.Start);
            Add(frame, new ResetChanceScenario(mPersonality), ScenarioResult.Success);
            return(true);
        }
Пример #2
0
 public void TestDeviceConfigGeneration(WeightOption weightOption, string expectedValued)
 {
     Assert.AreEqual(expectedValued, weightOption.ToFriendlyString());
 }