protected override void GetParentOptions(List <ParentItem> options, DefaultingLevel level) { if (Lot == null) { // Global options options.Add(new ParentItem(StoryProgression.Main.Options, level)); } else { options.Add(new ParentItem(StoryProgression.Main.GetLotOptions(Lot), level)); if (((level & DefaultingLevel.Castes) == DefaultingLevel.Castes) && ((level & DefaultingLevel.HeadOfFamily) == DefaultingLevel.HeadOfFamily)) { SimData sim = StoryProgression.Main.GetData(SimTypes.HeadOfFamily(House)); if (sim != null) { sim.GetAllCasteOptions(options, false, true); } } } }
protected override void GetParentOptions(List <ParentItem> options, DefaultingLevel level) { SimDescription sim = SimDescription; if (sim != null) { if (SimTypes.HeadOfFamily(sim.Household) == sim) { level &= ~DefaultingLevel.HeadOfFamily; } if ((level & DefaultingLevel.Castes) == DefaultingLevel.Castes) { if ((level & DefaultingLevel.HeadOfFamily) == DefaultingLevel.HeadOfFamily) { SimData head = StoryProgression.Main.GetData(SimTypes.HeadOfFamily(House)); if (head != null) { head.GetAllCasteOptions(options, true, true); } } GetAllCasteOptions(options, true, false); } HouseholdOptions houseOptions = StoryProgression.Main.GetHouseOptions(sim.Household); if (houseOptions != null) { options.Add(new ParentItem(houseOptions, level)); } if ((level & DefaultingLevel.Castes) == DefaultingLevel.Castes) { GetAllCasteOptions(options, false, false); } } }