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

◆ Step_Pickaxe_MineShinies()

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

Definition at line 2205 of file SmartCursorHelper.cs.

2206 {
2207 int reachableStartX = providedInfo.reachableStartX;
2208 int reachableStartY = providedInfo.reachableStartY;
2209 int reachableEndX = providedInfo.reachableEndX;
2210 int reachableEndY = providedInfo.reachableEndY;
2211 _ = providedInfo.screenTargetX;
2212 _ = providedInfo.screenTargetY;
2213 Item item = providedInfo.item;
2214 Vector2 mouse = providedInfo.mouse;
2215 if (item.pick <= 0 || fX != -1 || fY != -1)
2216 {
2217 return;
2218 }
2219 _targets.Clear();
2220 if (item.type != 1333 && item.type != 523)
2221 {
2222 _ = item.type != 4384;
2223 }
2224 else
2225 _ = 0;
2226 int num = 0;
2227 for (int i = reachableStartX; i <= reachableEndX; i++)
2228 {
2229 for (int j = reachableStartY; j <= reachableEndY; j++)
2230 {
2231 Tile tile = Main.tile[i, j];
2232 _ = Main.tile[i - 1, j];
2233 _ = Main.tile[i + 1, j];
2234 _ = Main.tile[i, j + 1];
2235 if (!tile.active())
2236 {
2237 continue;
2238 }
2240 if (num2 > 0)
2241 {
2242 if (num < num2)
2243 {
2244 num = num2;
2245 }
2246 _targets.Add(new Tuple<int, int>(i, j));
2247 }
2248 }
2249 }
2250 _targets2.Clear();
2251 foreach (Tuple<int, int> item2 in _targets2)
2252 {
2253 Tile tile2 = Main.tile[item2.Item1, item2.Item2];
2255 {
2256 _targets2.Add(item2);
2257 }
2258 }
2259 foreach (Tuple<int, int> item3 in _targets2)
2260 {
2261 _targets.Remove(item3);
2262 }
2263 if (_targets.Count > 0)
2264 {
2265 float num3 = -1f;
2267 for (int k = 0; k < _targets.Count; k++)
2268 {
2269 float num4 = Vector2.Distance(new Vector2(_targets[k].Item1, _targets[k].Item2) * 16f + Vector2.One * 8f, mouse);
2270 if (num3 == -1f || num4 < num3)
2271 {
2272 num3 = num4;
2273 tuple = _targets[k];
2274 }
2275 }
2276 if (Collision.InTileBounds(tuple.Item1, tuple.Item2, reachableStartX, reachableStartY, reachableEndX, reachableEndY))
2277 {
2278 fX = tuple.Item1;
2279 fY = tuple.Item2;
2280 }
2281 }
2282 _targets.Clear();
2283 }
static List< Tuple< int, int > > _targets2
static List< Tuple< int, int > > _targets
static int[] SmartCursorPickaxePriorityOverride
Definition TileID.cs:129
static float Distance(Vector2 value1, Vector2 value2)
Definition Vector2.cs:91

References Terraria.GameContent.SmartCursorHelper._targets, Terraria.GameContent.SmartCursorHelper._targets2, Terraria.Tile.active(), Microsoft.Xna.Framework.Vector2.Distance(), Terraria.Collision.InTileBounds(), System.item, Terraria.ID.TileID.Sets.SmartCursorPickaxePriorityOverride, Terraria.Main.tile, and Terraria.Tile.type.

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