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

◆ Step_ActuationRod()

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

Definition at line 1439 of file SmartCursorHelper.cs.

1440 {
1441 bool actuationRodLock = providedInfo.player.ActuationRodLock;
1442 bool actuationRodLockSetting = providedInfo.player.ActuationRodLockSetting;
1443 if (providedInfo.item.type != 3620 || focusedX != -1 || focusedY != -1)
1444 {
1445 return;
1446 }
1447 _targets.Clear();
1448 for (int i = providedInfo.reachableStartX; i <= providedInfo.reachableEndX; i++)
1449 {
1450 for (int j = providedInfo.reachableStartY; j <= providedInfo.reachableEndY; j++)
1451 {
1452 Tile tile = Main.tile[i, j];
1453 if (tile.active() && tile.actuator() && (!actuationRodLock || actuationRodLockSetting == tile.inActive()))
1454 {
1455 _targets.Add(new Tuple<int, int>(i, j));
1456 }
1457 }
1458 }
1459 if (_targets.Count > 0)
1460 {
1461 float num = -1f;
1463 for (int k = 0; k < _targets.Count; k++)
1464 {
1465 float num2 = Vector2.Distance(new Vector2(_targets[k].Item1, _targets[k].Item2) * 16f + Vector2.One * 8f, providedInfo.mouse);
1466 if (num == -1f || num2 < num)
1467 {
1468 num = num2;
1469 tuple = _targets[k];
1470 }
1471 }
1472 if (Collision.InTileBounds(tuple.Item1, tuple.Item2, providedInfo.reachableStartX, providedInfo.reachableStartY, providedInfo.reachableEndX, providedInfo.reachableEndY))
1473 {
1474 focusedX = tuple.Item1;
1475 focusedY = tuple.Item2;
1476 }
1477 }
1478 _targets.Clear();
1479 }
static List< Tuple< int, int > > _targets
static float Distance(Vector2 value1, Vector2 value2)
Definition Vector2.cs:91

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

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