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

◆ Step_EmptyBuckets()

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

Definition at line 590 of file SmartCursorHelper.cs.

591 {
592 if (providedInfo.item.type != 205 || focusedX != -1 || focusedY != -1)
593 {
594 return;
595 }
596 _targets.Clear();
597 for (int i = providedInfo.reachableStartX; i <= providedInfo.reachableEndX; i++)
598 {
599 for (int j = providedInfo.reachableStartY; j <= providedInfo.reachableEndY; j++)
600 {
601 Tile tile = Main.tile[i, j];
602 if (tile.liquid <= 0)
603 {
604 continue;
605 }
606 int num = tile.liquidType();
607 int num2 = 0;
608 for (int k = i - 1; k <= i + 1; k++)
609 {
610 for (int l = j - 1; l <= j + 1; l++)
611 {
612 if (Main.tile[k, l].liquidType() == num)
613 {
614 num2 += Main.tile[k, l].liquid;
615 }
616 }
617 }
618 if (num2 > 100)
619 {
620 _targets.Add(new Tuple<int, int>(i, j));
621 }
622 }
623 }
624 if (_targets.Count > 0)
625 {
626 float num3 = -1f;
628 for (int m = 0; m < _targets.Count; m++)
629 {
630 float num4 = Vector2.Distance(new Vector2(_targets[m].Item1, _targets[m].Item2) * 16f + Vector2.One * 8f, providedInfo.mouse);
631 if (num3 == -1f || num4 < num3)
632 {
633 num3 = num4;
634 tuple = _targets[m];
635 }
636 }
637 if (Collision.InTileBounds(tuple.Item1, tuple.Item2, providedInfo.reachableStartX, providedInfo.reachableStartY, providedInfo.reachableEndX, providedInfo.reachableEndY))
638 {
639 focusedX = tuple.Item1;
640 focusedY = tuple.Item2;
641 }
642 }
643 _targets.Clear();
644 }
static List< Tuple< int, int > > _targets
static float Distance(Vector2 value1, Vector2 value2)
Definition Vector2.cs:91

References Terraria.GameContent.SmartCursorHelper._targets, Microsoft.Xna.Framework.Vector2.Distance(), Terraria.Collision.InTileBounds(), Terraria.Tile.liquid, Terraria.Tile.liquidType(), and Terraria.Main.tile.

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