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

◆ HandleDpadSnap()

static void Terraria.GameInput.PlayerInput.HandleDpadSnap ( )
inlinestaticprivate

Definition at line 1468 of file PlayerInput.cs.

1469 {
1471 Player player = Main.player[Main.myPlayer];
1472 for (int i = 0; i < 4; i++)
1473 {
1474 bool flag = false;
1476 if (Main.gameMenu || (UILinkPointNavigator.Available && !InBuildingMode))
1477 {
1478 return;
1479 }
1480 switch (i)
1481 {
1482 case 0:
1483 flag = Triggers.Current.DpadMouseSnap1;
1484 vector = -Vector2.UnitY;
1485 break;
1486 case 1:
1487 flag = Triggers.Current.DpadMouseSnap2;
1489 break;
1490 case 2:
1491 flag = Triggers.Current.DpadMouseSnap3;
1493 break;
1494 case 3:
1495 flag = Triggers.Current.DpadMouseSnap4;
1496 vector = -Vector2.UnitX;
1497 break;
1498 }
1499 if (DpadSnapCooldown[i] > 0)
1500 {
1502 }
1503 if (flag)
1504 {
1505 if (DpadSnapCooldown[i] == 0)
1506 {
1507 int num = 6;
1508 if (ItemSlot.IsABuildingItem(player.inventory[player.selectedItem]))
1509 {
1510 num = player.inventory[player.selectedItem].useTime;
1511 }
1512 DpadSnapCooldown[i] = num;
1513 zero += vector;
1514 }
1515 }
1516 else
1517 {
1518 DpadSnapCooldown[i] = 0;
1519 }
1520 }
1521 if (zero != Vector2.Zero)
1522 {
1523 Main.SmartCursorWanted_GamePad = false;
1524 Matrix zoomMatrix = Main.GameViewMatrix.ZoomMatrix;
1525 Matrix matrix = Matrix.Invert(zoomMatrix);
1526 Vector2 mouseScreen = Main.MouseScreen;
1527 Vector2.Transform(Main.screenPosition, matrix);
1528 Vector2 vector2 = Vector2.Transform((Vector2.Transform(mouseScreen, matrix) + zero * new Vector2(16f) + Main.screenPosition).ToTileCoordinates().ToWorldCoordinates() - Main.screenPosition, zoomMatrix);
1529 MouseX = (int)vector2.X;
1530 MouseY = (int)vector2.Y;
1531 SettingsForUI.SetCursorMode(CursorMode.Gamepad);
1532 }
1533 }
static TriggersPack Triggers
static bool IsABuildingItem(Item item)
Definition ItemSlot.cs:3617
static Matrix Invert(Matrix matrix)
Definition Matrix.cs:1694
static Vector2 Transform(Vector2 position, Matrix matrix)
Definition Vector2.cs:317

References Terraria.UI.Gamepad.UILinkPointNavigator.Available, Terraria.GameInput.PlayerInput.DpadSnapCooldown, Terraria.Main.gameMenu, Terraria.Main.GameViewMatrix, Terraria.GameInput.PlayerInput.InBuildingMode, Terraria.Player.inventory, Microsoft.Xna.Framework.Matrix.Invert(), Terraria.UI.ItemSlot.IsABuildingItem(), Terraria.Main.MouseScreen, Terraria.GameInput.PlayerInput.MouseX, Terraria.GameInput.PlayerInput.MouseY, Terraria.Main.myPlayer, Terraria.Main.player, Terraria.Main.screenPosition, Terraria.Player.selectedItem, Terraria.GameInput.PlayerInput.SettingsForUI.SetCursorMode(), Microsoft.Xna.Framework.Vector2.Transform(), Terraria.GameInput.PlayerInput.Triggers, Microsoft.Xna.Framework.Vector2.UnitX, Microsoft.Xna.Framework.Vector2.UnitY, Terraria.Item.useTime, and Microsoft.Xna.Framework.Vector2.Zero.

Referenced by Terraria.GameInput.PlayerInput.GamePadInput().