Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
WorldGenerator.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
using
System.Diagnostics
;
3
using
Terraria.Utilities
;
4
5
namespace
Terraria.WorldBuilding
;
6
7
public
class
WorldGenerator
8
{
9
private
readonly
List<GenPass>
_passes
=
new
List<GenPass>
();
10
11
private
double
_totalLoadWeight
;
12
13
private
readonly
int
_seed
;
14
15
private
readonly
WorldGenConfiguration
_configuration
;
16
17
public
static
GenerationProgress
CurrentGenerationProgress
;
18
19
public
WorldGenerator
(
int
seed
,
WorldGenConfiguration
configuration)
20
{
21
_seed
=
seed
;
22
_configuration
= configuration;
23
}
24
25
public
void
Append
(
GenPass
pass
)
26
{
27
_passes
.
Add
(
pass
);
28
_totalLoadWeight
+=
pass
.Weight;
29
}
30
31
public
void
GenerateWorld
(
GenerationProgress
progress
=
null
)
32
{
33
Stopwatch
stopwatch
=
new
Stopwatch
();
34
double
num = 0.0;
35
foreach
(
GenPass
pass
in
_passes
)
36
{
37
num +=
pass
.Weight;
38
}
39
if
(
progress
==
null
)
40
{
41
progress
=
new
GenerationProgress
();
42
}
43
CurrentGenerationProgress
=
progress
;
44
progress.TotalWeight = num;
45
foreach
(
GenPass
pass2
in
_passes
)
46
{
47
WorldGen._genRand =
new
UnifiedRandom
(
_seed
);
48
Main.rand =
new
UnifiedRandom
(
_seed
);
49
stopwatch
.Start();
50
progress
.Start(
pass2
.Weight);
51
pass2
.Apply(
progress
,
_configuration
.
GetPassConfiguration
(
pass2
.Name));
52
progress
.End();
53
stopwatch
.Reset();
54
}
55
CurrentGenerationProgress
=
null
;
56
}
57
}
System.Collections.Generic.Dictionary.Add
void Add(TKey key, TValue value)
Definition
Dictionary.cs:873
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Diagnostics.Stopwatch
Definition
Stopwatch.cs:6
Terraria.Utilities.UnifiedRandom
Definition
UnifiedRandom.cs:7
Terraria.WorldBuilding.GenPass
Definition
GenPass.cs:6
Terraria.WorldBuilding.GenerationProgress
Definition
GenerationProgress.cs:4
Terraria.WorldBuilding.WorldGenConfiguration.GetPassConfiguration
GameConfiguration GetPassConfiguration(string name)
Definition
WorldGenConfiguration.cs:55
Terraria.WorldBuilding.WorldGenConfiguration
Definition
WorldGenConfiguration.cs:10
Terraria.WorldBuilding.WorldGenerator._configuration
readonly WorldGenConfiguration _configuration
Definition
WorldGenerator.cs:15
Terraria.WorldBuilding.WorldGenerator._totalLoadWeight
double _totalLoadWeight
Definition
WorldGenerator.cs:11
Terraria.WorldBuilding.WorldGenerator.WorldGenerator
WorldGenerator(int seed, WorldGenConfiguration configuration)
Definition
WorldGenerator.cs:19
Terraria.WorldBuilding.WorldGenerator.CurrentGenerationProgress
static GenerationProgress CurrentGenerationProgress
Definition
WorldGenerator.cs:17
Terraria.WorldBuilding.WorldGenerator.GenerateWorld
void GenerateWorld(GenerationProgress progress=null)
Definition
WorldGenerator.cs:31
Terraria.WorldBuilding.WorldGenerator._passes
readonly List< GenPass > _passes
Definition
WorldGenerator.cs:9
Terraria.WorldBuilding.WorldGenerator._seed
readonly int _seed
Definition
WorldGenerator.cs:13
Terraria.WorldBuilding.WorldGenerator.Append
void Append(GenPass pass)
Definition
WorldGenerator.cs:25
Terraria.WorldBuilding.WorldGenerator
Definition
WorldGenerator.cs:8
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Diagnostics
Definition
AggregationManager.cs:6
Terraria.Utilities
Definition
ExtensionFilter.cs:1
Terraria.WorldBuilding
Definition
Actions.cs:8
source
Terraria.WorldBuilding
WorldGenerator.cs
Generated by
1.10.0