Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
WorldGenRange.cs
Go to the documentation of this file.
1
using
Newtonsoft.Json;
2
using
Newtonsoft.Json.Converters;
3
using
Terraria.Utilities
;
4
5
namespace
Terraria.WorldBuilding
;
6
7
public
class
WorldGenRange
8
{
9
public
enum
ScalingMode
10
{
11
None
,
12
WorldArea
,
13
WorldWidth
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
28
public
int
ScaledMinimum
=>
ScaleValue
(
Minimum
);
29
30
public
int
ScaledMaximum
=>
ScaleValue
(
Maximum
);
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
}
JsonConverter
Terraria.Main.maxTilesY
static int maxTilesY
Definition
Main.cs:1116
Terraria.Main.maxTilesX
static int maxTilesX
Definition
Main.cs:1114
Terraria.Main
Definition
Main.cs:79
Terraria.Utilities.UnifiedRandom.Next
virtual int Next()
Definition
UnifiedRandom.cs:98
Terraria.Utilities.UnifiedRandom
Definition
UnifiedRandom.cs:7
Terraria.WorldBuilding.WorldGenRange.ScaledMaximum
int ScaledMaximum
Definition
WorldGenRange.cs:30
Terraria.WorldBuilding.WorldGenRange.ScalingMode
ScalingMode
Definition
WorldGenRange.cs:10
Terraria.WorldBuilding.WorldGenRange.ScalingMode.WorldWidth
@ WorldWidth
Terraria.WorldBuilding.WorldGenRange.ScalingMode.WorldArea
@ WorldArea
Terraria.WorldBuilding.WorldGenRange.ScalingMode.None
@ None
Terraria.WorldBuilding.WorldGenRange.WorldGenRange
WorldGenRange(int minimum, int maximum)
Definition
WorldGenRange.cs:32
Terraria.WorldBuilding.WorldGenRange.Maximum
readonly int Maximum
Definition
WorldGenRange.cs:22
Terraria.WorldBuilding.WorldGenRange.Minimum
readonly int Minimum
Definition
WorldGenRange.cs:19
Terraria.WorldBuilding.WorldGenRange.ScaledMinimum
int ScaledMinimum
Definition
WorldGenRange.cs:28
Terraria.WorldBuilding.WorldGenRange.ScaleValue
int ScaleValue(int value)
Definition
WorldGenRange.cs:43
Terraria.WorldBuilding.WorldGenRange.GetRandom
int GetRandom(UnifiedRandom random)
Definition
WorldGenRange.cs:38
Terraria.WorldBuilding.WorldGenRange.Empty
static readonly WorldGenRange Empty
Definition
WorldGenRange.cs:16
Terraria.WorldBuilding.WorldGenRange.ScaleWith
readonly ScalingMode ScaleWith
Definition
WorldGenRange.cs:26
Terraria.WorldBuilding.WorldGenRange
Definition
WorldGenRange.cs:8
Terraria.Utilities
Definition
ExtensionFilter.cs:1
Terraria.WorldBuilding
Definition
Actions.cs:8
source
Terraria.WorldBuilding
WorldGenRange.cs
Generated by
1.10.0