Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ LoadTileEntities()

static void Terraria.IO.WorldFile.LoadTileEntities ( BinaryReader reader)
inlinestatic

Definition at line 3130 of file WorldFile.cs.

3131 {
3132 TileEntity.ByID.Clear();
3133 TileEntity.ByPosition.Clear();
3134 int num = reader.ReadInt32();
3135 int num2 = 0;
3136 for (int i = 0; i < num; i++)
3137 {
3139 tileEntity.ID = num2++;
3141 if (TileEntity.ByPosition.TryGetValue(tileEntity.Position, out var value))
3142 {
3143 TileEntity.ByID.Remove(value.ID);
3144 }
3146 }
3147 TileEntity.TileEntitiesNextID = num;
3150 {
3151 if (!WorldGen.InWorld(item.Value.Position.X, item.Value.Position.Y, 1))
3152 {
3153 list.Add(item.Value.Position);
3154 }
3155 else if (!TileEntity.manager.CheckValidTile(item.Value.type, item.Value.Position.X, item.Value.Position.Y))
3156 {
3157 list.Add(item.Value.Position);
3158 }
3159 }
3160 try
3161 {
3162 foreach (Point16 item2 in list)
3163 {
3165 if (TileEntity.ByID.ContainsKey(tileEntity2.ID))
3166 {
3167 TileEntity.ByID.Remove(tileEntity2.ID);
3168 }
3169 if (TileEntity.ByPosition.ContainsKey(item2))
3170 {
3171 TileEntity.ByPosition.Remove(item2);
3172 }
3173 }
3174 }
3175 catch
3176 {
3177 }
3178 }
virtual int ReadInt32()
static Dictionary< int, TileEntity > ByID
Definition TileEntity.cs:18
static TileEntitiesManager manager
Definition TileEntity.cs:12
static Dictionary< Point16, TileEntity > ByPosition
Definition TileEntity.cs:20
static TileEntity Read(BinaryReader reader, bool networkSend=false)
Definition TileEntity.cs:86

References Terraria.DataStructures.TileEntity.ByID, Terraria.DataStructures.TileEntity.ByPosition, Terraria.WorldGen.InWorld(), System.item, System.list, Terraria.DataStructures.TileEntity.manager, Terraria.DataStructures.TileEntity.Read(), System.IO.BinaryReader.ReadInt32(), and System.value.

Referenced by Terraria.IO.WorldFile.LoadWorld_Version2().