Exemplo n.º 1
0
        private IEnumerable <DebugMenuOption> GenDebugMenuOptions(Pawn usedBy)
        {
            foreach (Trait trait in usedBy.story.traits.allTraits)
            {
                DebugMenuOption option = new DebugMenuOption(string.Concat(new object[]
                {
                    trait.LabelCap,
                    " (",
                    trait.Degree,
                    ")"
                }), DebugMenuOptionMode.Action, delegate()
                {
                    Trait reTrait = new Trait(trait.def, trait.Degree);
                    PolarisUtility.GainSkillsExtra(usedBy, trait.CurrentData.skillGains, false);
                    usedBy.story.traits.allTraits.Remove(trait);
                    PolarisUtility.RefreshPawnStat(usedBy);
                    this.parent.GetComp <CompTraitreleaser>().trait = reTrait;
                    this.parent.GetComp <CompTraitreleaser>().availableTimes--;
                    Messages.Message("PolarisTraitreleaserUsedRemovedTrait".Translate(usedBy.LabelShort, trait.LabelCap), usedBy, MessageTypeDefOf.PositiveEvent);
                });
                yield return(option);
            }

            yield break;
        }
Exemplo n.º 2
0
        private void GetRandomMutationsOptions()
        {
            var options = new List <DebugMenuOption>
            {
                new DebugMenuOption("none", DebugMenuOptionMode.Tool, () => GivePawnRandomMutations(null))
            };


            foreach (MorphDef morphDef in MorphDef.AllDefs)
            {
                var option = new DebugMenuOption(morphDef.label, DebugMenuOptionMode.Tool,
                                                 () => GivePawnRandomMutations(morphDef));
                options.Add(option);
            }

            Find.WindowStack.Add(new Dialog_DebugOptionListLister(options));
        }
Exemplo n.º 3
0
        private static void FrozenWholeMapWater()
        {
            List <DebugMenuOption> list = new List <DebugMenuOption>();

            int             confirmNum = (int)Math.Floor(Rand.Value * 10);
            DebugMenuOption blank      = new DebugMenuOption("Cancel", DebugMenuOptionMode.Action, delegate() { });

            for (int i = 0; i < confirmNum; i++)
            {
                list.Add(blank);
            }
            list.Add(new DebugMenuOption("--- Confirm ---", DebugMenuOptionMode.Action, delegate()
            {
                int count        = Find.CurrentMap.terrainGrid.topGrid.Count();
                TerrainDef Marsh = DefDatabase <TerrainDef> .GetNamed("Marsh");
                for (int i = 0; i < count; i++)
                {
                    if (Find.CurrentMap.terrainGrid.topGrid[i] == TerrainDefOf.WaterDeep ||
                        Find.CurrentMap.terrainGrid.topGrid[i] == TerrainDefOf.WaterMovingChestDeep ||
                        Find.CurrentMap.terrainGrid.topGrid[i] == TerrainDefOf.WaterMovingShallow ||
                        Find.CurrentMap.terrainGrid.topGrid[i] == TerrainDefOf.WaterOceanDeep ||
                        Find.CurrentMap.terrainGrid.topGrid[i] == TerrainDefOf.WaterOceanShallow ||
                        Find.CurrentMap.terrainGrid.topGrid[i] == TerrainDefOf.WaterShallow ||
                        Find.CurrentMap.terrainGrid.topGrid[i] == Marsh
                        )
                    {
                        Find.CurrentMap.terrainGrid.topGrid[i] = TerrainDefOf.Ice;
                    }
                }
                Find.CurrentMap.mapDrawer.WholeMapChanged(MapMeshFlag.Terrain);
                Find.CurrentMap.pathGrid.RecalculateAllPerceivedPathCosts();
            }));
            for (int i = 0; i < 9 - confirmNum; i++)
            {
                list.Add(blank);
            }
            Find.WindowStack.Add(new Dialog_DebugOptionListLister(list));
        }