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

◆ Step_GrassSeeds()

static void Terraria.GameContent.SmartCursorHelper.Step_GrassSeeds ( SmartCursorUsageInfo providedInfo,
ref int focusedX,
ref int focusedY )
inlinestaticprivate

Definition at line 281 of file SmartCursorHelper.cs.

282 {
283 if (focusedX > -1 || focusedY > -1)
284 {
285 return;
286 }
287 int type = providedInfo.item.type;
289 {
290 return;
291 }
292 _targets.Clear();
293 for (int i = providedInfo.reachableStartX; i <= providedInfo.reachableEndX; i++)
294 {
295 for (int j = providedInfo.reachableStartY; j <= providedInfo.reachableEndY; j++)
296 {
297 Tile tile = Main.tile[i, j];
298 bool flag = !Main.tile[i - 1, j].active() || !Main.tile[i, j + 1].active() || !Main.tile[i + 1, j].active() || !Main.tile[i, j - 1].active();
299 bool flag2 = !Main.tile[i - 1, j - 1].active() || !Main.tile[i - 1, j + 1].active() || !Main.tile[i + 1, j + 1].active() || !Main.tile[i + 1, j - 1].active();
300 if (tile.active() && !tile.inActive() && (flag || flag2))
301 {
302 bool flag3 = false;
303 switch (type)
304 {
305 default:
306 flag3 = tile.type == 0;
307 break;
308 case 59:
309 case 2171:
310 flag3 = tile.type == 0 || tile.type == 59;
311 break;
312 case 194:
313 case 195:
314 flag3 = tile.type == 59;
315 break;
316 case 5214:
317 flag3 = tile.type == 57;
318 break;
319 }
320 if (flag3)
321 {
322 _targets.Add(new Tuple<int, int>(i, j));
323 }
324 }
325 }
326 }
327 if (_targets.Count > 0)
328 {
329 float num = -1f;
331 for (int k = 0; k < _targets.Count; k++)
332 {
333 float num2 = Vector2.Distance(new Vector2(_targets[k].Item1, _targets[k].Item2) * 16f + Vector2.One * 8f, providedInfo.mouse);
334 if (num == -1f || num2 < num)
335 {
336 num = num2;
337 tuple = _targets[k];
338 }
339 }
340 if (Collision.InTileBounds(tuple.Item1, tuple.Item2, providedInfo.reachableStartX, providedInfo.reachableStartY, providedInfo.reachableEndX, providedInfo.reachableEndY))
341 {
342 focusedX = tuple.Item1;
343 focusedY = tuple.Item2;
344 }
345 }
346 _targets.Clear();
347 }
static List< Tuple< int, int > > _targets
static bool[] GrassSeeds
Definition ItemID.cs:65
static readonly short Count
Definition ItemID.cs:12138
static float Distance(Vector2 value1, Vector2 value2)
Definition Vector2.cs:91

References Terraria.GameContent.SmartCursorHelper._targets, Terraria.Tile.active(), Terraria.ID.ItemID.Count, Microsoft.Xna.Framework.Vector2.Distance(), Terraria.ID.ItemID.Sets.GrassSeeds, Terraria.Tile.inActive(), Terraria.Collision.InTileBounds(), Terraria.Main.tile, and System.type.

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