2628 {
2629 if (!
Player.SmartCursorSettings.SmartBlocksEnabled)
2630 {
2631 return;
2632 }
2635 {
2636 return;
2637 }
2645 {
2646 return;
2647 }
2649 bool flag = false;
2650 if (Main.tile[screenTargetX, screenTargetY].active())
2651 {
2652 flag = true;
2653 }
2654 if (!Collision.InTileBounds(screenTargetX, screenTargetY, reachableStartX, reachableStartY, reachableEndX, reachableEndY))
2655 {
2656 flag = true;
2657 }
2658 if (!flag)
2659 {
2660 for (
int i = reachableStartX;
i <= reachableEndX;
i++)
2661 {
2662 for (
int j = reachableStartY;
j <= reachableEndY;
j++)
2663 {
2664 Tile tile = Main.tile[
i,
j];
2666 {
2667 int num = 0;
2668 if (Main.tile[i - 1,
j].active() && Main.tileSolid[Main.tile[i - 1,
j].type] && !Main.tileSolidTop[Main.tile[i - 1,
j].type])
2669 {
2670 num++;
2671 }
2672 if (Main.tile[i + 1,
j].active() && Main.tileSolid[Main.tile[i + 1,
j].type] && !Main.tileSolidTop[Main.tile[i + 1,
j].type])
2673 {
2674 num++;
2675 }
2676 if (Main.tile[i,
j - 1].active() && Main.tileSolid[Main.tile[i,
j - 1].type] && !Main.tileSolidTop[Main.tile[i,
j - 1].type])
2677 {
2678 num++;
2679 }
2680 if (Main.tile[i,
j + 1].active() && Main.tileSolid[Main.tile[i,
j + 1].type] && !Main.tileSolidTop[Main.tile[i,
j + 1].type])
2681 {
2682 num++;
2683 }
2684 if (num >= 2)
2685 {
2687 }
2688 }
2689 }
2690 }
2691 }
2693 {
2695 float num3 =
float.PositiveInfinity;
2698 {
2700 {
2706 {
2708 }
2710 {
2712 }
2714 {
2718 }
2719 }
2720 }
2721 if (Collision.InTileBounds(
tuple.Item1,
tuple.Item2, reachableStartX, reachableStartY, reachableEndX, reachableEndY) &&
num2 != -1f)
2722 {
2725 }
2726 }
2728 }
static double Abs(double value)
static List< Tuple< int, int > > _targets
static readonly short Count
static bool[] BreakableWhenPlacing