Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ChambersEntrance.cs
Go to the documentation of this file.
1
using
System
;
2
using
System.Collections.Generic
;
3
using
Microsoft.Xna.Framework
;
4
using
ReLogic.Utilities
;
5
using
Terraria.Utilities
;
6
using
Terraria.WorldBuilding
;
7
8
namespace
Terraria.GameContent.Biomes.Desert
;
9
10
public
static
class
ChambersEntrance
11
{
12
private
struct
PathConnection
13
{
14
public
readonly
Vector2D
Position
;
15
16
public
readonly
double
Direction
;
17
18
public
PathConnection
(
Point
position,
int
direction)
19
{
20
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
21
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
22
Position
=
new
Vector2D
((
double
)position.
X
, (
double
)position.
Y
);
23
Direction
= direction;
24
}
25
}
26
27
public
static
void
Place
(
DesertDescription
description)
28
{
29
int
num = description.Desert.Center.X +
WorldGen
.
genRand
.Next(-40, 41);
30
Point
position =
new
Point
(num, description.
Surface
[num]);
31
PlaceAt
(description, position);
32
}
33
34
private
static
void
PlaceAt
(
DesertDescription
description,
Point
position)
35
{
36
//IL_0286: Unknown result type (might be due to invalid IL or missing references)
37
//IL_0292: Unknown result type (might be due to invalid IL or missing references)
38
//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
39
//IL_02da: Unknown result type (might be due to invalid IL or missing references)
40
//IL_02e4: Unknown result type (might be due to invalid IL or missing references)
41
//IL_02ed: Unknown result type (might be due to invalid IL or missing references)
42
//IL_0311: Unknown result type (might be due to invalid IL or missing references)
43
//IL_0322: Unknown result type (might be due to invalid IL or missing references)
44
//IL_0329: Unknown result type (might be due to invalid IL or missing references)
45
//IL_0330: Unknown result type (might be due to invalid IL or missing references)
46
//IL_0335: Unknown result type (might be due to invalid IL or missing references)
47
//IL_0337: Unknown result type (might be due to invalid IL or missing references)
48
//IL_033b: Unknown result type (might be due to invalid IL or missing references)
49
//IL_0340: Unknown result type (might be due to invalid IL or missing references)
50
//IL_0342: Unknown result type (might be due to invalid IL or missing references)
51
//IL_0346: Unknown result type (might be due to invalid IL or missing references)
52
//IL_034b: Unknown result type (might be due to invalid IL or missing references)
53
//IL_034d: Unknown result type (might be due to invalid IL or missing references)
54
//IL_0351: Unknown result type (might be due to invalid IL or missing references)
55
ShapeData
shapeData
=
new
ShapeData
();
56
Point
origin =
new
Point
(position.
X
, position.
Y
+ 2);
57
WorldUtils
.
Gen
(origin,
new
Shapes
.
Circle
(24, 12),
Actions
.
Chain
(
new
Modifiers
.
Blotches
(),
new
Actions
.
SetTile
(53).
Output
(
shapeData
)));
58
UnifiedRandom
genRand =
WorldGen
.
genRand
;
59
ShapeData
data =
new
ShapeData
();
60
int
num = description.Hive.Top - position.
Y
;
61
int
num2
= ((genRand.
Next
(2) != 0) ? 1 : (-1));
62
List<PathConnection>
list
=
new
List<PathConnection>
63
{
64
new
PathConnection
(
new
Point
(position.
X
+ -
num2
* 26, position.
Y
- 8),
num2
)
65
};
66
int
num3
= genRand.
Next
(2, 4);
67
for
(
int
i = 0; i <
num3
; i++)
68
{
69
int
num4
= (int)((
double
)(i + 1) / (
double
)
num3
* (double)num) + genRand.
Next
(-8, 9);
70
int
num5
=
num2
* genRand.
Next
(20, 41);
71
int
num6
= genRand.
Next
(18, 29);
72
WorldUtils
.
Gen
(position,
new
Shapes
.
Circle
(
num6
/ 2, 3),
Actions
.
Chain
(
new
Modifiers
.
Offset
(
num5
,
num4
),
new
Modifiers
.
Blotches
(),
new
Actions
.
Clear
().
Output
(data),
new
Actions
.
PlaceWall
(187)));
73
list
.Add(
new
PathConnection
(
new
Point
(
num5
+
num6
/ 2 * -
num2
+ position.
X
,
num4
+ position.
Y
), -
num2
));
74
num2
*= -1;
75
}
76
WorldUtils
.
Gen
(position,
new
ModShapes
.
OuterOutline
(data),
Actions
.
Chain
(
new
Modifiers
.
Expand
(1),
new
Modifiers
.
OnlyTiles
(53),
new
Actions
.
SetTile
(397),
new
Actions
.
PlaceWall
(187)));
77
GenShapeActionPair
pair
=
new
GenShapeActionPair
(
new
Shapes
.
Rectangle
(2, 4),
Actions
.
Chain
(
new
Modifiers
.
IsSolid
(),
new
Modifiers
.
Blotches
(),
new
Actions
.
Clear
(),
new
Modifiers
.
Expand
(1),
new
Actions
.
PlaceWall
(187),
new
Modifiers
.
OnlyTiles
(53),
new
Actions
.
SetTile
(397)));
78
Vector2D
val2
=
default
(
Vector2D
);
79
for
(
int
j
= 1;
j
<
list
.
Count
;
j
++)
80
{
81
PathConnection
pathConnection
=
list
[
j
- 1];
82
PathConnection
pathConnection2
=
list
[
j
];
83
double
num7
=
Math
.
Abs
(
pathConnection2
.Position.X -
pathConnection
.Position.X) * 1.5;
84
for
(
double
num8
= 0.0;
num8
<= 1.0;
num8
+= 0.02)
85
{
86
Vector2D
val =
new
Vector2D
(
pathConnection
.Position.X +
pathConnection
.Direction *
num7
*
num8
,
pathConnection
.Position.Y);
87
((
Vector2D
)(
ref
val2
)).
_002Ector
(
pathConnection2
.Position.X +
pathConnection2
.Direction *
num7
* (1.0 -
num8
),
pathConnection2
.Position.Y);
88
Vector2D
val3
=
Vector2D
.
Lerp
(
pathConnection
.Position,
pathConnection2
.Position,
num8
);
89
Vector2D
val4
=
Vector2D
.
Lerp
(val,
val3
,
num8
);
90
Vector2D
val5
=
Vector2D
.
Lerp
(
val3
,
val2
,
num8
);
91
WorldUtils
.
Gen
(
Vector2D
.
Lerp
(
val4
,
val5
,
num8
).ToPoint(),
pair
);
92
}
93
}
94
WorldUtils
.
Gen
(origin,
new
Shapes
.
Rectangle
(
new
Rectangle
(-29, -12, 58, 12)),
Actions
.
Chain
(
new
Modifiers
.
NotInShape
(
shapeData
),
new
Modifiers
.
Expand
(1),
new
Actions
.
PlaceWall
(0)));
95
}
96
}
Position
Position
Definition
ImmutableDictionary.cs:625
System.Collections.Generic.Dictionary.Count
int Count
Definition
Dictionary.cs:682
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Math.Abs
static double Abs(double value)
System.Math
Definition
Math.cs:13
Terraria.GameContent.Biomes.Desert.ChambersEntrance.Place
static void Place(DesertDescription description)
Definition
ChambersEntrance.cs:27
Terraria.GameContent.Biomes.Desert.ChambersEntrance.PlaceAt
static void PlaceAt(DesertDescription description, Point position)
Definition
ChambersEntrance.cs:34
Terraria.GameContent.Biomes.Desert.ChambersEntrance
Definition
ChambersEntrance.cs:11
Terraria.GameContent.Biomes.Desert.DesertDescription.Surface
SurfaceMap Surface
Definition
DesertDescription.cs:32
Terraria.GameContent.Biomes.Desert.DesertDescription
Definition
DesertDescription.cs:8
Terraria.Utilities.UnifiedRandom.Next
virtual int Next()
Definition
UnifiedRandom.cs:98
Terraria.Utilities.UnifiedRandom
Definition
UnifiedRandom.cs:7
Terraria.WorldBuilding.Actions.Clear
Definition
Actions.cs:147
Terraria.WorldBuilding.Actions.PlaceWall
Definition
Actions.cs:371
Terraria.WorldBuilding.Actions.SetTile
Definition
Actions.cs:204
Terraria.WorldBuilding.Actions.Chain
static GenAction Chain(params GenAction[] actions)
Definition
Actions.cs:470
Terraria.WorldBuilding.Actions
Definition
Actions.cs:11
Terraria.WorldBuilding.GenAction.Output
GenAction Output(ShapeData data)
Definition
GenAction.cs:39
Terraria.WorldBuilding.ModShapes.OuterOutline
Definition
ModShapes.cs:29
Terraria.WorldBuilding.ModShapes
Definition
ModShapes.cs:7
Terraria.WorldBuilding.Modifiers.Blotches
Definition
Modifiers.cs:93
Terraria.WorldBuilding.Modifiers.Expand
Definition
Modifiers.cs:33
Terraria.WorldBuilding.Modifiers.IsSolid
Definition
Modifiers.cs:457
Terraria.WorldBuilding.Modifiers.NotInShape
Definition
Modifiers.cs:174
Terraria.WorldBuilding.Modifiers.Offset
Definition
Modifiers.cs:509
Terraria.WorldBuilding.Modifiers.OnlyTiles
Definition
Modifiers.cs:239
Terraria.WorldBuilding.Modifiers
Definition
Modifiers.cs:8
Terraria.WorldBuilding.ShapeData
Definition
ShapeData.cs:10
Terraria.WorldBuilding.Shapes.Circle
Definition
Shapes.cs:10
Terraria.WorldBuilding.Shapes.Rectangle
Definition
Shapes.cs:134
Terraria.WorldBuilding.Shapes
Definition
Shapes.cs:8
Terraria.WorldBuilding.WorldUtils.Gen
static bool Gen(Point origin, GenShape shape, GenAction action)
Definition
WorldUtils.cs:17
Terraria.WorldBuilding.WorldUtils
Definition
WorldUtils.cs:7
Terraria.WorldGen.genRand
static UnifiedRandom genRand
Definition
WorldGen.cs:1215
Terraria.WorldGen
Definition
WorldGen.cs:32
Microsoft.Xna.Framework
Definition
AlphaTestEffect.cs:1
ReLogic.Utilities
Definition
AttributeUtilities.cs:5
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.ExceptionArgument.list
@ list
System
Definition
BlockingCollection.cs:8
Terraria.GameContent.Biomes.Desert
Definition
AnthillEntrance.cs:5
Terraria.Utilities
Definition
ExtensionFilter.cs:1
Terraria.WorldBuilding
Definition
Actions.cs:8
Microsoft.Xna.Framework.Point.X
int X
Definition
Point.cs:14
Microsoft.Xna.Framework.Point.Y
int Y
Definition
Point.cs:17
Microsoft.Xna.Framework.Point
Definition
Point.cs:12
Microsoft.Xna.Framework.Rectangle
Definition
Rectangle.cs:12
ReLogic.Utilities.Vector2D.Lerp
static Vector2D Lerp(Vector2D value1, Vector2D value2, double amount)
Definition
Vector2D.cs:216
ReLogic.Utilities.Vector2D
Definition
Vector2D.cs:9
Terraria.GameContent.Biomes.Desert.ChambersEntrance.PathConnection.Direction
readonly double Direction
Definition
ChambersEntrance.cs:16
Terraria.GameContent.Biomes.Desert.ChambersEntrance.PathConnection.Position
readonly Vector2D Position
Definition
ChambersEntrance.cs:14
Terraria.GameContent.Biomes.Desert.ChambersEntrance.PathConnection.PathConnection
PathConnection(Point position, int direction)
Definition
ChambersEntrance.cs:18
Terraria.GameContent.Biomes.Desert.ChambersEntrance.PathConnection
Definition
ChambersEntrance.cs:13
Terraria.WorldBuilding.GenShapeActionPair
Definition
GenShapeActionPair.cs:4
source
Terraria.GameContent.Biomes.Desert
ChambersEntrance.cs
Generated by
1.10.0