static void ShowAddNewSetDialog()
        {
            PrioritiesManager manager = Find.World.GetComponent <PrioritiesManager>();

            manager.CurrentSet = FactionPriorities.BuildFromCurrent(manager.GetUniqueNewName());
            Find.WindowStack.Add(new Dialog_NamePrioritiesSet(manager.CurrentSet));
        }
示例#2
0
 public void InitializePrioritiesSets()
 {
     if (factionPrioritiesList == null)
     {
         factionPrioritiesList = new List <FactionPriorities>();
         CurrentSet            = FactionPriorities.BuildFromCurrent();
     }
 }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
 public Dialog_NamePrioritiesSet(FactionPriorities prioritiesSet) : base()
 {
     this.prioritiesSet = prioritiesSet;
     curName            = prioritiesSet.name;
 }