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); }
public void TestDeviceConfigGeneration(WeightOption weightOption, string expectedValued) { Assert.AreEqual(expectedValued, weightOption.ToFriendlyString()); }