Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ DrillSmartCursor_Blocks()

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

Definition at line 2642 of file Mount.cs.

2643 {
2644 Vector2 vector = ((mountedPlayer.whoAmI != Main.myPlayer) ? data.crosshairPosition : (Main.screenPosition + new Vector2(Main.mouseX, Main.mouseY)));
2645 Vector2 center = mountedPlayer.Center;
2647 float num = vector2.Length();
2648 if (num > 224f)
2649 {
2650 num = 224f;
2651 }
2652 num += 32f;
2653 vector2.Normalize();
2654 Vector2 end = center + vector2 * num;
2655 Point16 tilePoint = new Point16(-1, -1);
2656 if (!Utils.PlotTileLine(center, end, 65.6f, delegate(int x, int y)
2657 {
2658 tilePoint = new Point16(x, y);
2659 for (int i = 0; i < data.beams.Length; i++)
2660 {
2661 if (data.beams[i].curTileTarget == tilePoint && data.beams[i].lastPurpose == 0)
2662 {
2663 return true;
2664 }
2665 }
2666 if (!WorldGen.CanKillTile(x, y))
2667 {
2668 return true;
2669 }
2670 return (Main.tile[x, y] == null || Main.tile[x, y].inActive() || !Main.tile[x, y].active()) ? true : false;
2671 }))
2672 {
2673 return tilePoint;
2674 }
2675 return new Point16(-1, -1);
2676 }

References Terraria.Mount.DrillMountData.beams, Terraria.WorldGen.CanKillTile(), 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, and Microsoft.Xna.Framework.Graphics.Vector2.

Referenced by Terraria.Mount.UseDrill().