コード例 #1
0
 protected override bool CanDoNext()
 {
     if (!base.CanDoNext())
     {
         return(false);
     }
     if (TutorSystem.TutorialMode)
     {
         WorkTypeDef workTypeDef = StartingPawnUtility.RequiredWorkTypesDisabledForEveryone().FirstOrDefault();
         if (workTypeDef != null)
         {
             Messages.Message("RequiredWorkTypeDisabledForEveryone".Translate() + ": " + workTypeDef.gerundLabel.CapitalizeFirst() + ".", MessageTypeDefOf.RejectInput, historical: false);
             return(false);
         }
     }
     foreach (Pawn startingAndOptionalPawn in Find.GameInitData.startingAndOptionalPawns)
     {
         if (!startingAndOptionalPawn.Name.IsValid)
         {
             Messages.Message("EveryoneNeedsValidName".Translate(), MessageTypeDefOf.RejectInput, historical: false);
             return(false);
         }
     }
     PortraitsCache.Clear();
     return(true);
 }
コード例 #2
0
        private void CheckWarnRequiredWorkTypesDisabledForEveryone(Action nextAction)
        {
            IEnumerable <WorkTypeDef> enumerable = StartingPawnUtility.RequiredWorkTypesDisabledForEveryone();

            if (enumerable.Any <WorkTypeDef>())
            {
                StringBuilder stringBuilder = new StringBuilder();
                foreach (WorkTypeDef current in enumerable)
                {
                    if (stringBuilder.Length > 0)
                    {
                        stringBuilder.AppendLine();
                    }
                    stringBuilder.Append("  - " + current.gerundLabel.CapitalizeFirst());
                }
                string text = "ConfirmRequiredWorkTypeDisabledForEveryone".Translate(new object[]
                {
                    stringBuilder.ToString()
                });
                Find.WindowStack.Add(Dialog_MessageBox.CreateConfirmation(text, nextAction, false, null));
            }
            else
            {
                nextAction();
            }
        }