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

◆ RemoveIntersectingPortals()

static void Terraria.GameContent.PortalHelper.RemoveIntersectingPortals ( Vector2 position,
float angle )
inlinestaticprivate

Definition at line 350 of file PortalHelper.cs.

351 {
352 GetPortalEdges(position, angle, out var start, out var end);
353 for (int i = 0; i < 1000; i++)
354 {
355 Projectile projectile = Main.projectile[i];
356 if (!projectile.active || projectile.type != 602)
357 {
358 continue;
359 }
360 GetPortalEdges(projectile.Center, projectile.ai[0], out var start2, out var end2);
361 if (Collision.CheckLinevLine(start, end, start2, end2).Length != 0)
362 {
363 if (projectile.owner != Main.myPlayer && Main.netMode != 2)
364 {
365 NetMessage.SendData(95, -1, -1, null, projectile.owner, (int)projectile.ai[1]);
366 }
367 projectile.Kill();
368 }
369 }
370 }
static void GetPortalEdges(Vector2 position, float angle, out Vector2 start, out Vector2 end)

References Terraria.Entity.active, Terraria.Projectile.ai, Terraria.Entity.Center, Terraria.Collision.CheckLinevLine(), Terraria.GameContent.PortalHelper.GetPortalEdges(), Terraria.Projectile.Kill(), Terraria.Main.myPlayer, Terraria.Main.netMode, Terraria.Projectile.owner, Terraria.Main.projectile, Terraria.NetMessage.SendData(), System.start, and Terraria.Projectile.type.

Referenced by Terraria.GameContent.PortalHelper.AddPortal().