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

◆ Kill()

static void Terraria.GameContent.Tile_Entities.TELogicSensor.Kill ( int x,
int y )
inlinestatic

Definition at line 372 of file TELogicSensor.cs.

373 {
374 if (!TileEntity.ByPosition.TryGetValue(new Point16(x, y), out var value) || value.type != _myEntityID)
375 {
376 return;
377 }
378 Wiring.blockPlayerTeleportationForOneIteration = ((TELogicSensor)value).logicCheck == LogicCheckType.PlayerAbove;
379 bool flag = false;
380 if (((TELogicSensor)value).logicCheck == LogicCheckType.PlayerAbove && ((TELogicSensor)value).On)
381 {
382 flag = true;
383 }
384 else if (((TELogicSensor)value).logicCheck == LogicCheckType.Water && ((TELogicSensor)value).On)
385 {
386 flag = true;
387 }
388 else if (((TELogicSensor)value).logicCheck == LogicCheckType.Lava && ((TELogicSensor)value).On)
389 {
390 flag = true;
391 }
392 else if (((TELogicSensor)value).logicCheck == LogicCheckType.Honey && ((TELogicSensor)value).On)
393 {
394 flag = true;
395 }
396 else if (((TELogicSensor)value).logicCheck == LogicCheckType.Liquid && ((TELogicSensor)value).On)
397 {
398 flag = true;
399 }
400 if (flag)
401 {
402 Wiring.HitSwitch(value.Position.X, value.Position.Y);
403 NetMessage.SendData(59, -1, -1, null, value.Position.X, value.Position.Y);
404 }
405 Wiring.blockPlayerTeleportationForOneIteration = false;
406 if (inUpdateLoop)
407 {
409 return;
410 }
412 {
413 TileEntity.ByPosition.Remove(new Point16(x, y));
414 TileEntity.ByID.Remove(value.ID);
415 }
416 }
static Dictionary< int, TileEntity > ByID
Definition TileEntity.cs:18
static Dictionary< Point16, TileEntity > ByPosition
Definition TileEntity.cs:20

References Terraria.GameContent.Tile_Entities.TELogicSensor.TELogicSensor(), Terraria.GameContent.Tile_Entities.TELogicSensor._myEntityID, Terraria.DataStructures.TileEntity.ByID, Terraria.DataStructures.TileEntity.ByPosition, Terraria.DataStructures.TileEntity.EntityCreationLock, Terraria.Wiring.HitSwitch(), Terraria.GameContent.Tile_Entities.TELogicSensor.inUpdateLoop, Terraria.GameContent.Tile_Entities.TELogicSensor.logicCheck, Terraria.GameContent.Tile_Entities.TELogicSensor.markedIDsForRemoval, Terraria.GameContent.Tile_Entities.TELogicSensor.On, Terraria.NetMessage.SendData(), and System.value.

Referenced by Terraria.WorldGen.KillTile(), Terraria.WorldGen.KillTile_GetItemDrops(), and Terraria.GameContent.Tile_Entities.TELogicSensor.SanityCheck().