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

◆ Step_ForceCursorToAnyMinableThing()

static void Terraria.GameContent.SmartCursorHelper.Step_ForceCursorToAnyMinableThing ( SmartCursorUsageInfo providedInfo,
ref int fX,
ref int fY )
inlinestaticprivate

Definition at line 2164 of file SmartCursorHelper.cs.

2165 {
2166 int reachableStartX = providedInfo.reachableStartX;
2167 int reachableStartY = providedInfo.reachableStartY;
2168 int reachableEndX = providedInfo.reachableEndX;
2169 int reachableEndY = providedInfo.reachableEndY;
2170 _ = providedInfo.screenTargetX;
2171 _ = providedInfo.screenTargetY;
2172 Vector2 mouse = providedInfo.mouse;
2173 Item item = providedInfo.item;
2174 if (fX != -1 || fY != -1 || PlayerInput.UsingGamepad)
2175 {
2176 return;
2177 }
2178 Point point = mouse.ToTileCoordinates();
2179 int x = point.X;
2180 int y = point.Y;
2181 if (Collision.InTileBounds(x, y, reachableStartX, reachableStartY, reachableEndX, reachableEndY))
2182 {
2183 Tile tile = Main.tile[x, y];
2184 bool flag = tile.active() && WorldGen.CanKillTile(x, y) && (!Main.tileSolid[tile.type] || Main.tileSolidTop[tile.type]);
2185 if (flag && Main.tileAxe[tile.type] && item.axe < 1)
2186 {
2187 flag = false;
2188 }
2189 if (flag && Main.tileHammer[tile.type] && item.hammer < 1)
2190 {
2191 flag = false;
2192 }
2193 if (flag && !Main.tileHammer[tile.type] && !Main.tileAxe[tile.type] && item.pick < 1)
2194 {
2195 flag = false;
2196 }
2197 if (flag)
2198 {
2199 fX = x;
2200 fY = y;
2201 }
2202 }
2203 }

References Terraria.Tile.active(), Terraria.WorldGen.CanKillTile(), Terraria.Collision.InTileBounds(), System.item, Terraria.Main.tile, Terraria.Main.tileAxe, Terraria.Main.tileHammer, Terraria.Main.tileSolid, Terraria.Main.tileSolidTop, Terraria.Tile.type, Terraria.GameInput.PlayerInput.UsingGamepad, Microsoft.Xna.Framework.Point.X, and Microsoft.Xna.Framework.Point.Y.

Referenced by Terraria.GameContent.SmartCursorHelper.SmartCursorLookup().