static void Prefix() { OutterShape = Settings.OuterShape; if (OutterShape == ImpassableShape.Fill) { Settings.OuterShape = (Rand.Bool) ? ImpassableShape.Round : ImpassableShape.Square; } }
public override void ExposeData() { base.ExposeData(); string s = OuterShape.ToString(); string openAreaShape = OpenAreaShape.ToString(); Scribe_Values.Look <bool>(ref HasMiddleArea, "ImpassableMapMaker.hasMiddleArea", true, false); Scribe_Values.Look <bool>(ref StartInMiddleArea, "ImpassableMapMaker.startInMiddleArea", false, false); Scribe_Values.Look <float>(ref percentOffset, "ImpassableMapMaker.percentOffset", DEFAULT_PERCENT_OFFSET, false); Scribe_Values.Look <string>(ref openAreaShape, "ImpassableMapMaker.OpenAreaShape", ImpassableShape.Square.ToString(), false); Scribe_Values.Look <int>(ref OpenAreaSizeX, "ImpassableMapMaker.OpenAreaSizeX", DEFAULT_OPEN_AREA_SIZE, false); Scribe_Values.Look <int>(ref OpenAreaSizeZ, "ImpassableMapMaker.OpenAreaSizeZ", DEFAULT_OPEN_AREA_SIZE, false); Scribe_Values.Look <int>(ref PeremeterBuffer, "ImpassableMapMaker.PeremeterBuffer", DEFAULT_PEREMETER_BUFFER, false); Scribe_Values.Look <int>(ref MiddleWallSmoothness, "ImpassableMapMaker.MakeWallsSmooth", DEFAULT_WALLS_SMOOTHNESS, false); Scribe_Values.Look <string>(ref s, "ImpassableMapMaker.Shape", ImpassableShape.Square.ToString(), false); Scribe_Values.Look <bool>(ref ScatteredRocks, "ImpassableMapMaker.scatteredRocks", true, false); Scribe_Values.Look <bool>(ref IncludeQuarySpot, "ImpassableMapMaker.IncludeQuarySpot", false, false); Scribe_Values.Look <int>(ref QuarySize, "ImpassableMapMaker.QuarySize", DEFAULT_QUARY_SIZE, false); Scribe_Values.Look <float>(ref MovementDifficulty, "ImpassableMapMaker.MovementDifficulty", DEFAULT_MOVEMENT_DIFFICULTY, false); Scribe_Values.Look <int>(ref OuterRadius, "ImpassableMapMaker.OuterRadius", DEFAULT_OUTER_RADIUS, false); Scribe_Values.Look <bool>(ref TrueRandom, "ImpassableMapMaker.TrueRandom", false, false); Scribe_Values.Look <int>(ref RoofEdgeDepth, "ImpassableMapMaker.RoofEdgeDepth", DEFAULT_ROOF_EDGE_DEPTH, false); Scribe_Values.Look <bool>(ref CoverRoadAndRiver, "ImpassableMapMaker.CoverRoadAndRiver", false, false); movementDifficultyBuffer = MovementDifficulty.ToString(); if (Scribe.mode != LoadSaveMode.Saving) { if (ImpassableShape.Round.ToString().Equals(s)) { OuterShape = ImpassableShape.Round; } else if (ImpassableShape.Square.ToString().Equals(s)) { OuterShape = ImpassableShape.Square; } else { OuterShape = ImpassableShape.Fill; } if (ImpassableShape.Round.ToString().Equals(openAreaShape)) { OpenAreaShape = ImpassableShape.Round; } else { OpenAreaShape = ImpassableShape.Square; } } }
public static void DoSettingsWindowContents(Rect rect) { Rect scroll = new Rect(5f, 45f, 430, rect.height - 40); Rect view = new Rect(0, 45, 400, 1200); Widgets.BeginScrollView(scroll, ref scrollPosition, view, true); Listing_Standard ls = new Listing_Standard(); ls.Begin(view); // World Map Movement Difficulty ls.TextFieldNumericLabeled <float>( "ImpassableMapMaker.WorldMapMovementDifficulty".Translate(), ref MovementDifficulty, ref movementDifficultyBuffer, 1f, 100f); if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { MovementDifficulty = DEFAULT_MOVEMENT_DIFFICULTY; movementDifficultyBuffer = DEFAULT_MOVEMENT_DIFFICULTY.ToString(); } ls.GapLine(GAP_SIZE); // Mountain Shape ls.Label("ImpassableMapMaker.MountainShape".Translate()); if (ls.RadioButton("ImpassableMapMaker.ShapeSquare".Translate(), OuterShape == ImpassableShape.Square)) { OuterShape = ImpassableShape.Square; } if (ls.RadioButton("ImpassableMapMaker.ShapeRound".Translate(), OuterShape == ImpassableShape.Round)) { OuterShape = ImpassableShape.Round; } if (ls.RadioButton("ImpassableMapMaker.ShapeFill".Translate(), OuterShape == ImpassableShape.Fill)) { OuterShape = ImpassableShape.Fill; } ls.Gap(GAP_SIZE); switch (OuterShape) { case ImpassableShape.Round: ls.Label("ImpassableMapMaker.OuterRadius".Translate() + ": " + OuterRadius); OuterRadius = (int)ls.Slider(OuterRadius, -100, 100); if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { OuterRadius = DEFAULT_OUTER_RADIUS; } ls.Gap(GAP_SIZE); break; case ImpassableShape.Fill: ls.CheckboxLabeled("ImpassableMapMaker.CoverRoadAndRiver".Translate(), ref CoverRoadAndRiver, "ImpassableMapMaker.CoverRoadAndRiverDesc".Translate()); ls.Label("ImpassableMapMaker.RooflessEdgeBuffer".Translate() + ": " + RoofEdgeDepth, -1, "ImpassableMapMaker.RooflessEdgeBufferDesc".Translate()); RoofEdgeDepth = (int)ls.Slider(RoofEdgeDepth, 0, 20); if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { RoofEdgeDepth = DEFAULT_ROOF_EDGE_DEPTH; } ls.Gap(GAP_SIZE); break; } ls.CheckboxLabeled("ImpassableMapMaker.ScatteredRocks".Translate(), ref ScatteredRocks); ls.GapLine(GAP_SIZE); // Middle Area ls.CheckboxLabeled("ImpassableMapMaker.HasMiddleArea".Translate(), ref HasMiddleArea); if (HasMiddleArea) { ls.CheckboxLabeled("ImpassableMapMaker.StartInMiddleArea".Translate(), ref StartInMiddleArea); ls.Label("ImpassableMapMaker.MiddleAreaShape".Translate()); ls.Gap(2); if (ls.RadioButton("ImpassableMapMaker.ShapeSquare".Translate(), OpenAreaShape == ImpassableShape.Square)) { OpenAreaShape = ImpassableShape.Square; } if (ls.RadioButton("ImpassableMapMaker.ShapeRound".Translate(), OpenAreaShape == ImpassableShape.Round)) { OpenAreaShape = ImpassableShape.Round; } ls.Gap(2); ls.Label("ImpassableMapMaker.OpenAreaSize".Translate()); if (OpenAreaShape == ImpassableShape.Square) { ls.Label("ImpassableMapMaker.Width".Translate() + ": " + OpenAreaSizeZ); OpenAreaSizeZ = (int)ls.Slider(OpenAreaSizeZ, 5, 150); ls.Label("ImpassableMapMaker.Height".Translate() + ": " + OpenAreaSizeX); OpenAreaSizeX = (int)ls.Slider(OpenAreaSizeX, 5, 150); } else { ls.Label("ImpassableMapMaker.InnerRadius".Translate() + ": " + OpenAreaSizeZ); OpenAreaSizeX = (int)ls.Slider(OpenAreaSizeX, 5, 100); OpenAreaSizeZ = OpenAreaSizeX; } if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { if (OpenAreaShape == ImpassableShape.Square) { OpenAreaSizeX = DEFAULT_OPEN_AREA_SIZE; OpenAreaSizeZ = DEFAULT_OPEN_AREA_SIZE; } else { OpenAreaSizeX = (int)(DEFAULT_OPEN_AREA_SIZE * 0.5f); OpenAreaSizeZ = (int)(DEFAULT_OPEN_AREA_SIZE * 0.5f); } } ls.Gap(GAP_SIZE); ls.Label("ImpassableMapMaker.OpenAreaMaxOffsetFromMiddle".Translate() + ": " + percentOffset.ToString("N1") + "%"); percentOffset = ls.Slider(percentOffset, 0, 25); if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { percentOffset = DEFAULT_PERCENT_OFFSET; } ls.Gap(GAP_SIZE); ls.Label("ImpassableMapMaker.MiddleOpeningWallSmoothnes".Translate()); ls.Label("<< " + "ImpassableMapMaker.Smooth".Translate() + " -- " + "ImpassableMapMaker.Rough".Translate() + " >>"); MiddleWallSmoothness = (int)ls.Slider(MiddleWallSmoothness, 0, 20); if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { MiddleWallSmoothness = 10; } } ls.GapLine(GAP_SIZE); if (OuterShape != ImpassableShape.Fill) { ls.Label("ImpassableMapMaker.EdgeBuffer".Translate() + ": " + PeremeterBuffer.ToString()); ls.Label("<< " + "ImpassableMapMaker.Smaller".Translate() + " -- " + "ImpassableMapMaker.Larger".Translate() + " >>"); PeremeterBuffer = (int)ls.Slider(PeremeterBuffer, 1, 100); if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { PeremeterBuffer = DEFAULT_PEREMETER_BUFFER; } ls.Label("ImpassableMapMaker.EdgeBufferWarning".Translate()); ls.GapLine(GAP_SIZE); } ls.CheckboxLabeled("ImpassableMapMaker.IncludeQuarySpot".Translate(), ref IncludeQuarySpot); if (IncludeQuarySpot) { ls.Label("<< " + "ImpassableMapMaker.Smaller".Translate() + " -- " + "ImpassableMapMaker.Larger".Translate() + " >>"); QuarySize = (int)ls.Slider(QuarySize, 3, 20); StringBuilder sb = new StringBuilder("("); sb.Append(QuarySize.ToString()); sb.Append(", "); sb.Append(QuarySize.ToString()); sb.Append(")"); ls.Label(sb.ToString()); if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { QuarySize = DEFAULT_QUARY_SIZE; } } ls.GapLine(GAP_SIZE); ls.CheckboxLabeled("ImpassableMapMaker.TrueRandom".Translate(), ref TrueRandom, "ImpassableMapMaker.TrueRandomDesc".Translate()); ls.End(); Widgets.EndScrollView(); }
public static void DoSettingsWindowContents(Rect rect) { Rect scroll = new Rect(5f, 45f, 430, rect.height); Rect view = new Rect(0, 45, 400, 800); Widgets.BeginScrollView(scroll, ref scrollPosition, view, true); Listing_Standard ls = new Listing_Standard(); ls.Begin(view); ls.TextFieldNumericLabeled <float>( "ImpassableMapMaker.WorldMapMovementDifficulty".Translate(), ref MovementDifficulty, ref movementDifficultyBuffer, 1f, 100f); if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { MovementDifficulty = DEFAULT_MOVEMENT_DIFFICULTY; movementDifficultyBuffer = DEFAULT_MOVEMENT_DIFFICULTY.ToString(); } ls.GapLine(GAP_SIZE); ls.Label("ImpassableMapMaker.MountainShape".Translate()); if (ls.RadioButton("ImpassableMapMaker.ShapeSquare".Translate(), shape == ImpassableShape.Square)) { shape = ImpassableShape.Square; } if (ls.RadioButton("ImpassableMapMaker.ShapeRound".Translate(), shape == ImpassableShape.Round)) { shape = ImpassableShape.Round; } ls.Gap(GAP_SIZE); ls.CheckboxLabeled("ImpassableMapMaker.ScatteredRocks".Translate(), ref ScatteredRocks); ls.GapLine(GAP_SIZE); ls.CheckboxLabeled("ImpassableMapMaker.HasMiddleArea".Translate(), ref HasMiddleArea); ls.Gap(6); if (HasMiddleArea) { ls.Label("ImpassableMapMaker.MiddleAreaShape".Translate()); ls.Gap(2); if (ls.RadioButton("ImpassableMapMaker.ShapeSquare".Translate(), OpenAreaShape == ImpassableShape.Square)) { OpenAreaShape = ImpassableShape.Square; } if (ls.RadioButton("ImpassableMapMaker.ShapeRound".Translate(), OpenAreaShape == ImpassableShape.Round)) { OpenAreaShape = ImpassableShape.Round; } ls.Gap(2); ls.Label("ImpassableMapMaker.OpenAreaSize".Translate()); if (OpenAreaShape == ImpassableShape.Square) { ls.Label("ImpassableMapMaker.Width".Translate() + ": " + OpenAreaSizeZ); OpenAreaSizeZ = (int)ls.Slider(OpenAreaSizeZ, 40, 75); ls.Label("ImpassableMapMaker.Height".Translate() + ": " + OpenAreaSizeX); OpenAreaSizeX = (int)ls.Slider(OpenAreaSizeX, 40, 75); } else { ls.Label("ImpassableMapMaker.Radius".Translate() + ": " + OpenAreaSizeZ); OpenAreaSizeX = (int)ls.Slider(OpenAreaSizeX, 40, 75); OpenAreaSizeZ = OpenAreaSizeX; } if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { OpenAreaSizeX = DEFAULT_OPEN_AREA_SIZE; OpenAreaSizeZ = DEFAULT_OPEN_AREA_SIZE; } ls.Gap(GAP_SIZE); ls.Label("ImpassableMapMaker.OpenAreaMaxOffsetFromMiddle".Translate() + ": " + percentOffset.ToString("N1") + "%"); percentOffset = ls.Slider(percentOffset, 0, 25); if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { percentOffset = DEFAULT_PERCENT_OFFSET; } ls.Gap(GAP_SIZE); ls.Label("ImpassableMapMaker.MiddleOpeningWallSmoothnes".Translate()); ls.Label("<< " + "ImpassableMapMaker.Smooth".Translate() + " -- " + "ImpassableMapMaker.Rough".Translate() + " >>"); MiddleWallSmoothness = (int)ls.Slider(MiddleWallSmoothness, 0, 20); if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { MiddleWallSmoothness = 10; } ls.GapLine(GAP_SIZE); } if (shape == ImpassableShape.Square) { ls.Label("ImpassableMapMaker.EdgeBuffer".Translate() + ": " + PeremeterBuffer.ToString()); ls.Label("<< " + "ImpassableMapMaker.Smaller".Translate() + " -- " + "ImpassableMapMaker.Larger".Translate() + " >>"); PeremeterBuffer = (int)ls.Slider(PeremeterBuffer, 3, 30); if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { PeremeterBuffer = DEFAULT_PEREMETER_BUFFER; } ls.Label("ImpassableMapMaker.EdgeBufferWarning".Translate()); ls.GapLine(GAP_SIZE); } ls.CheckboxLabeled("ImpassableMapMaker.IncludeQuarySpot".Translate(), ref IncludeQuarySpot); if (IncludeQuarySpot) { ls.Label("<< " + "ImpassableMapMaker.Smaller".Translate() + " -- " + "ImpassableMapMaker.Larger".Translate() + " >>"); QuarySize = (int)ls.Slider(QuarySize, 3, 20); StringBuilder sb = new StringBuilder("("); sb.Append(QuarySize.ToString()); sb.Append(", "); sb.Append(QuarySize.ToString()); sb.Append(")"); ls.Label(sb.ToString()); if (ls.ButtonText("ImpassableMapMaker.Default".Translate())) { QuarySize = DEFAULT_QUARY_SIZE; } } ls.End(); Widgets.EndScrollView(); }