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

◆ ComposeInstructionsForGamepad()

static string Terraria.GameInput.PlayerInput.ComposeInstructionsForGamepad ( )
inlinestatic

Definition at line 1544 of file PlayerInput.cs.

1545 {
1546 string empty = string.Empty;
1547 InputMode inputMode = InputMode.XBoxGamepad;
1548 if (Main.gameMenu || UILinkPointNavigator.Available)
1549 {
1550 inputMode = InputMode.XBoxGamepadUI;
1551 }
1552 if (InBuildingMode && !Main.gameMenu)
1553 {
1554 inputMode = InputMode.XBoxGamepad;
1555 }
1556 KeyConfiguration keyConfiguration = CurrentProfile.InputModes[inputMode];
1557 if (Main.mapFullscreen && !Main.gameMenu)
1558 {
1559 empty += " ";
1560 empty += BuildCommand(Lang.misc[56].Value, false, ProfileGamepadUI.KeyStatus["Inventory"]);
1561 empty += BuildCommand(Lang.inter[118].Value, false, ProfileGamepadUI.KeyStatus["HotbarPlus"]);
1562 empty += BuildCommand(Lang.inter[119].Value, false, ProfileGamepadUI.KeyStatus["HotbarMinus"]);
1563 if (Main.netMode == 1 && Main.player[Main.myPlayer].HasItem(2997))
1564 {
1565 empty += BuildCommand(Lang.inter[120].Value, false, ProfileGamepadUI.KeyStatus["MouseRight"]);
1566 }
1567 }
1568 else if (inputMode == InputMode.XBoxGamepadUI && !InBuildingMode)
1569 {
1571 }
1572 else
1573 {
1574 empty += BuildCommand(Lang.misc[58].Value, false, keyConfiguration.KeyStatus["Jump"]);
1575 empty += BuildCommand(Lang.misc[59].Value, false, keyConfiguration.KeyStatus["HotbarMinus"], keyConfiguration.KeyStatus["HotbarPlus"]);
1576 if (InBuildingMode)
1577 {
1578 empty += BuildCommand(Lang.menu[6].Value, false, keyConfiguration.KeyStatus["Inventory"], keyConfiguration.KeyStatus["MouseRight"]);
1579 }
1580 if (WiresUI.Open)
1581 {
1582 empty += BuildCommand(Lang.misc[53].Value, false, keyConfiguration.KeyStatus["MouseLeft"]);
1583 empty += BuildCommand(Lang.misc[56].Value, false, keyConfiguration.KeyStatus["MouseRight"]);
1584 }
1585 else
1586 {
1587 Item item = Main.player[Main.myPlayer].inventory[Main.player[Main.myPlayer].selectedItem];
1588 empty = ((item.damage > 0 && item.ammo == 0) ? (empty + BuildCommand(Lang.misc[60].Value, false, keyConfiguration.KeyStatus["MouseLeft"])) : ((item.createTile < 0 && item.createWall <= 0) ? (empty + BuildCommand(Lang.misc[63].Value, false, keyConfiguration.KeyStatus["MouseLeft"])) : (empty + BuildCommand(Lang.misc[61].Value, false, keyConfiguration.KeyStatus["MouseLeft"]))));
1589 bool flag = true;
1590 bool flag2 = Main.SmartInteractProj != -1 || Main.HasInteractibleObjectThatIsNotATile;
1591 bool flag3 = !Main.SmartInteractShowingGenuine && Main.SmartInteractShowingFake;
1592 if (Main.SmartInteractShowingGenuine || Main.SmartInteractShowingFake || flag2)
1593 {
1594 if (Main.SmartInteractNPC != -1)
1595 {
1596 if (flag3)
1597 {
1598 flag = false;
1599 }
1600 empty += BuildCommand(Lang.misc[80].Value, false, keyConfiguration.KeyStatus["MouseRight"]);
1601 }
1602 else if (flag2)
1603 {
1604 if (flag3)
1605 {
1606 flag = false;
1607 }
1608 empty += BuildCommand(Lang.misc[79].Value, false, keyConfiguration.KeyStatus["MouseRight"]);
1609 }
1610 else if (Main.SmartInteractX != -1 && Main.SmartInteractY != -1)
1611 {
1612 if (flag3)
1613 {
1614 flag = false;
1615 }
1616 Tile tile = Main.tile[Main.SmartInteractX, Main.SmartInteractY];
1617 empty = ((!TileID.Sets.TileInteractRead[tile.type]) ? (empty + BuildCommand(Lang.misc[79].Value, false, keyConfiguration.KeyStatus["MouseRight"])) : (empty + BuildCommand(Lang.misc[81].Value, false, keyConfiguration.KeyStatus["MouseRight"])));
1618 }
1619 }
1621 {
1622 empty += BuildCommand(Lang.misc[89].Value, false, keyConfiguration.KeyStatus["MouseRight"]);
1623 }
1624 if ((!GrappleAndInteractAreShared || (!WiresUI.Settings.DrawToolModeUI && (!Main.SmartInteractShowingGenuine || !Main.HasSmartInteractTarget) && (!Main.SmartInteractShowingFake || flag))) && Main.LocalPlayer.QuickGrapple_GetItemToUse() != null)
1625 {
1626 empty += BuildCommand(Lang.misc[57].Value, false, keyConfiguration.KeyStatus["Grapple"]);
1627 }
1628 }
1629 }
1630 return empty;
1631 }
static string BuildCommand(string CommandText, bool Last, params List< string >[] Bindings)
static PlayerInputProfile CurrentProfile
static KeyConfiguration ProfileGamepadUI
static bool[] TileInteractRead
Definition TileID.cs:185

References Terraria.UI.Gamepad.UILinkPointNavigator.Available, Terraria.GameInput.PlayerInput.BuildCommand(), Terraria.GameInput.PlayerInput.CurrentProfile, Terraria.GameContent.UI.WiresUI.Settings.DrawToolModeUI, Terraria.Main.gameMenu, Terraria.UI.Gamepad.UILinkPointNavigator.GetInstructions(), Terraria.GameInput.PlayerInput.GrappleAndInteractAreShared, Terraria.Main.HasInteractibleObjectThatIsNotATile, Terraria.Main.HasSmartInteractTarget, Terraria.GameInput.PlayerInput.InBuildingMode, Terraria.Lang.inter, System.item, Terraria.Main.LocalPlayer, Terraria.Main.mapFullscreen, Terraria.Lang.menu, Terraria.Lang.misc, Terraria.Main.myPlayer, Terraria.Main.netMode, Terraria.GameContent.UI.WiresUI.Open, Terraria.Main.player, Terraria.GameInput.PlayerInput.ProfileGamepadUI, Terraria.Main.SmartInteractNPC, Terraria.Main.SmartInteractShowingFake, Terraria.Main.SmartInteractShowingGenuine, Terraria.Main.SmartInteractX, Terraria.Main.SmartInteractY, Terraria.Main.tile, Terraria.ID.TileID.Sets.TileInteractRead, and Terraria.Tile.type.

Referenced by Terraria.Main.DrawGamepadInstructions(), and Terraria.Main.HackForGamepadInputHell().