Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
TileEntitiesManager.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
using
Terraria.GameContent.Tile_Entities
;
3
4
namespace
Terraria.DataStructures
;
5
6
public
class
TileEntitiesManager
7
{
8
private
int
_nextEntityID
;
9
10
private
Dictionary<int, TileEntity>
_types
=
new
Dictionary<int, TileEntity>
();
11
12
private
int
AssignNewID
()
13
{
14
return
_nextEntityID
++;
15
}
16
17
private
bool
InvalidEntityID
(
int
id
)
18
{
19
if
(
id
>= 0)
20
{
21
return
id
>=
_nextEntityID
;
22
}
23
return
true
;
24
}
25
26
public
void
RegisterAll
()
27
{
28
Register
(
new
TETrainingDummy
());
29
Register
(
new
TEItemFrame
());
30
Register
(
new
TELogicSensor
());
31
Register
(
new
TEDisplayDoll
());
32
Register
(
new
TEWeaponsRack
());
33
Register
(
new
TEHatRack
());
34
Register
(
new
TEFoodPlatter
());
35
Register
(
new
TETeleportationPylon
());
36
}
37
38
public
void
Register
(
TileEntity
entity)
39
{
40
int
num =
AssignNewID
();
41
_types
[num] = entity;
42
entity.
RegisterTileEntityID
(num);
43
}
44
45
public
bool
CheckValidTile
(
int
id
,
int
x,
int
y)
46
{
47
if
(
InvalidEntityID
(
id
))
48
{
49
return
false
;
50
}
51
return
_types
[id].IsTileValidForEntity(x, y);
52
}
53
54
public
void
NetPlaceEntity
(
int
id
,
int
x,
int
y)
55
{
56
if
(!
InvalidEntityID
(
id
) &&
_types
[
id
].IsTileValidForEntity(x, y))
57
{
58
_types
[id].NetPlaceEntityAttempt(x, y);
59
}
60
}
61
62
public
TileEntity
GenerateInstance
(
int
id
)
63
{
64
if
(
InvalidEntityID
(
id
))
65
{
66
return
null
;
67
}
68
return
_types
[id].GenerateInstance();
69
}
70
}
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
Terraria.DataStructures.TileEntitiesManager.InvalidEntityID
bool InvalidEntityID(int id)
Definition
TileEntitiesManager.cs:17
Terraria.DataStructures.TileEntitiesManager.CheckValidTile
bool CheckValidTile(int id, int x, int y)
Definition
TileEntitiesManager.cs:45
Terraria.DataStructures.TileEntitiesManager.AssignNewID
int AssignNewID()
Definition
TileEntitiesManager.cs:12
Terraria.DataStructures.TileEntitiesManager.Register
void Register(TileEntity entity)
Definition
TileEntitiesManager.cs:38
Terraria.DataStructures.TileEntitiesManager._nextEntityID
int _nextEntityID
Definition
TileEntitiesManager.cs:8
Terraria.DataStructures.TileEntitiesManager.RegisterAll
void RegisterAll()
Definition
TileEntitiesManager.cs:26
Terraria.DataStructures.TileEntitiesManager.GenerateInstance
TileEntity GenerateInstance(int id)
Definition
TileEntitiesManager.cs:62
Terraria.DataStructures.TileEntitiesManager._types
Dictionary< int, TileEntity > _types
Definition
TileEntitiesManager.cs:10
Terraria.DataStructures.TileEntitiesManager.NetPlaceEntity
void NetPlaceEntity(int id, int x, int y)
Definition
TileEntitiesManager.cs:54
Terraria.DataStructures.TileEntitiesManager
Definition
TileEntitiesManager.cs:7
Terraria.DataStructures.TileEntity.RegisterTileEntityID
virtual void RegisterTileEntityID(int assignedID)
Definition
TileEntity.cs:234
Terraria.DataStructures.TileEntity
Definition
TileEntity.cs:11
Terraria.GameContent.Tile_Entities.TEDisplayDoll
Definition
TEDisplayDoll.cs:12
Terraria.GameContent.Tile_Entities.TEFoodPlatter
Definition
TEFoodPlatter.cs:8
Terraria.GameContent.Tile_Entities.TEHatRack
Definition
TEHatRack.cs:12
Terraria.GameContent.Tile_Entities.TEItemFrame
Definition
TEItemFrame.cs:7
Terraria.GameContent.Tile_Entities.TELogicSensor
Definition
TELogicSensor.cs:10
Terraria.GameContent.Tile_Entities.TETeleportationPylon
Definition
TETeleportationPylon.cs:6
Terraria.GameContent.Tile_Entities.TETrainingDummy
Definition
TETrainingDummy.cs:9
Terraria.GameContent.Tile_Entities.TEWeaponsRack
Definition
TEWeaponsRack.cs:8
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
Terraria.DataStructures
Definition
AEntitySource_OnHit.cs:1
Terraria.GameContent.Tile_Entities
Definition
DisplayDollSlot.cs:1
source
Terraria.DataStructures
TileEntitiesManager.cs
Generated by
1.10.0