Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
WorldGenRange.cs
Go to the documentation of this file.
1using Newtonsoft.Json;
2using Newtonsoft.Json.Converters;
4
6
7public class WorldGenRange
8{
9 public enum ScalingMode
10 {
11 None,
14 }
15
16 public static readonly WorldGenRange Empty = new WorldGenRange(0, 0);
17
18 [JsonProperty("Min")]
19 public readonly int Minimum;
20
21 [JsonProperty("Max")]
22 public readonly int Maximum;
23
24 [JsonProperty]
25 [JsonConverter(typeof(StringEnumConverter))]
26 public readonly ScalingMode ScaleWith;
27
29
31
32 public WorldGenRange(int minimum, int maximum)
33 {
34 Minimum = minimum;
35 Maximum = maximum;
36 }
37
38 public int GetRandom(UnifiedRandom random)
39 {
40 return random.Next(ScaledMinimum, ScaledMaximum + 1);
41 }
42
43 private int ScaleValue(int value)
44 {
45 double num = 1.0;
46 switch (ScaleWith)
47 {
48 case ScalingMode.WorldArea:
49 num = (double)(Main.maxTilesX * Main.maxTilesY) / 5040000.0;
50 break;
51 case ScalingMode.WorldWidth:
52 num = (double)Main.maxTilesX / 4200.0;
53 break;
54 case ScalingMode.None:
55 num = 1.0;
56 break;
57 }
58 return (int)(num * (double)value);
59 }
60}
static int maxTilesY
Definition Main.cs:1116
static int maxTilesX
Definition Main.cs:1114
WorldGenRange(int minimum, int maximum)
int GetRandom(UnifiedRandom random)
static readonly WorldGenRange Empty