static void ShowAddNewSetDialog() { PrioritiesManager manager = Find.World.GetComponent <PrioritiesManager>(); manager.CurrentSet = FactionPriorities.BuildFromCurrent(manager.GetUniqueNewName()); Find.WindowStack.Add(new Dialog_NamePrioritiesSet(manager.CurrentSet)); }
public void InitializePrioritiesSets() { if (factionPrioritiesList == null) { factionPrioritiesList = new List <FactionPriorities>(); CurrentSet = FactionPriorities.BuildFromCurrent(); } }
public int AddSet(FactionPriorities set) { int newIndex = factionPrioritiesList.FindIndex(p => p.guid == set.guid); if (newIndex == -1) { newIndex = factionPrioritiesList.Count; factionPrioritiesList.Add(set); } return(newIndex); }
public static FactionPriorities BuildFromCurrent(string name = "Current") { var newFactionPriorities = new FactionPriorities { name = name }; foreach (Pawn pawn in PawnsFinder.AllMapsAndWorld_Alive) { if (pawn.Faction == Faction.OfPlayer && pawn.workSettings != null) { newFactionPriorities.pawnPrioritiesList.Add(PawnPriorities.BuildFromCurrent(pawn)); } } return(newFactionPriorities); }
public Dialog_NamePrioritiesSet(FactionPriorities prioritiesSet) : base() { this.prioritiesSet = prioritiesSet; curName = prioritiesSet.name; }