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

◆ DrillSmartCursor_Walls()

Point16 Terraria.Mount.DrillSmartCursor_Walls ( Player mountedPlayer,
DrillMountData data )
inlineprivate

Definition at line 2678 of file Mount.cs.

2679 {
2680 Vector2 vector = ((mountedPlayer.whoAmI != Main.myPlayer) ? data.crosshairPosition : (Main.screenPosition + new Vector2(Main.mouseX, Main.mouseY)));
2681 Vector2 center = mountedPlayer.Center;
2683 float num = vector2.Length();
2684 if (num > 224f)
2685 {
2686 num = 224f;
2687 }
2688 num += 32f;
2689 num += 16f;
2690 vector2.Normalize();
2691 Vector2 end = center + vector2 * num;
2692 Point16 tilePoint = new Point16(-1, -1);
2693 if (!Utils.PlotTileLine(center, end, 97.6f, delegate(int x, int y)
2694 {
2695 tilePoint = new Point16(x, y);
2696 for (int i = 0; i < data.beams.Length; i++)
2697 {
2698 if (data.beams[i].curTileTarget == tilePoint && data.beams[i].lastPurpose == 1)
2699 {
2700 return true;
2701 }
2702 }
2703 Tile tile = Main.tile[x, y];
2704 if (tile == null)
2705 {
2706 return false;
2707 }
2708 return (tile.wall <= 0 || !Player.CanPlayerSmashWall(x, y)) ? true : false;
2709 }))
2710 {
2711 return tilePoint;
2712 }
2713 return new Point16(-1, -1);
2714 }

References Terraria.Mount.DrillMountData.beams, Terraria.Player.CanPlayerSmashWall(), Terraria.Mount.DrillMountData.crosshairPosition, Terraria.Mount.DrillBeam.curTileTarget, Terraria.Mount.DrillBeam.lastPurpose, Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.Main.myPlayer, Terraria.Utils.PlotTileLine(), Terraria.Main.tile, Microsoft.Xna.Framework.Graphics.Vector2, and Terraria.Tile.wall.

Referenced by Terraria.Mount.UseDrill().