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

◆ SetupGamepadPoints()

void Terraria.GameContent.UI.States.UIManageControls.SetupGamepadPoints ( SpriteBatch spriteBatch)
inlineprivate

Definition at line 832 of file UIManageControls.cs.

833 {
834 UILinkPointNavigator.Shortcuts.BackButtonCommand = 4;
835 int num = 3000;
842 int key = num;
844 uILinkPoint.Unlink();
845 uILinkPoint.Up = num + 6;
846 key = num + 1;
848 uILinkPoint2.Unlink();
849 uILinkPoint2.Right = num + 2;
850 uILinkPoint2.Down = num + 6;
851 key = num + 2;
853 uILinkPoint3.Unlink();
854 uILinkPoint3.Left = num + 1;
855 uILinkPoint3.Right = num + 4;
856 uILinkPoint3.Down = num + 6;
857 key = num + 4;
859 uILinkPoint4.Unlink();
860 uILinkPoint4.Left = num + 2;
861 uILinkPoint4.Right = num + 5;
862 uILinkPoint4.Down = num + 6;
863 key = num + 5;
865 uILinkPoint5.Unlink();
866 uILinkPoint5.Left = num + 4;
867 uILinkPoint5.Right = num + 3;
868 uILinkPoint5.Down = num + 6;
869 key = num + 3;
871 uILinkPoint6.Unlink();
872 uILinkPoint6.Left = num + 5;
873 uILinkPoint6.Down = num + 6;
874 float num2 = 1f / Main.UIScale;
877 Vector2 maximum = clippingRectangle.BottomRight() * num2;
879 for (int i = 0; i < snapPoints.Count; i++)
880 {
881 if (!snapPoints[i].Position.Between(minimum, maximum))
882 {
883 _ = snapPoints[i].Position;
885 i--;
886 }
887 }
888 snapPoints.Sort((SnapPoint x, SnapPoint y) => x.Id.CompareTo(y.Id));
889 for (int j = 0; j < snapPoints.Count; j++)
890 {
891 key = num + 6 + j;
892 if (snapPoints[j].Name == "Thin")
893 {
895 uILinkPoint7.Unlink();
897 uILinkPoint7.Right = key + 1;
898 uILinkPoint7.Down = ((j < snapPoints.Count - 2) ? (key + 2) : num);
899 uILinkPoint7.Up = ((j < 2) ? (num + 1) : ((snapPoints[j - 1].Name == "Wide") ? (key - 1) : (key - 2)));
901 UILinkPointNavigator.Shortcuts.FANCYUI_HIGHEST_INDEX = key;
902 j++;
903 if (j < snapPoints.Count)
904 {
905 key = num + 6 + j;
907 uILinkPoint8.Unlink();
909 uILinkPoint8.Left = key - 1;
910 uILinkPoint8.Down = ((j >= snapPoints.Count - 1) ? num : ((snapPoints[j + 1].Name == "Wide") ? (key + 1) : (key + 2)));
911 uILinkPoint8.Up = ((j < 2) ? (num + 1) : (key - 2));
912 UILinkPointNavigator.Shortcuts.FANCYUI_HIGHEST_INDEX = key;
913 }
914 }
915 else
916 {
918 uILinkPoint9.Unlink();
920 uILinkPoint9.Down = ((j < snapPoints.Count - 1) ? (key + 1) : num);
921 uILinkPoint9.Up = ((j < 1) ? (num + 1) : ((snapPoints[j - 1].Name == "Wide") ? (key - 1) : (key - 2)));
922 UILinkPointNavigator.Shortcuts.FANCYUI_HIGHEST_INDEX = key;
924 }
925 }
926 if (ForceMoveTo != -1)
927 {
929 ForceMoveTo = -1;
930 }
931 }
static float Clamp(float value, float min, float max)
Definition MathHelper.cs:46
bool ICollection< KeyValuePair< TKey, TValue > >. Remove(KeyValuePair< TKey, TValue > keyValuePair)
override List< SnapPoint > GetSnapPoints()
Definition UIList.cs:165
static Dictionary< int, UILinkPoint > Points
static void SetPosition(int ID, Vector2 Position)
CalculatedStyle GetInnerDimensions()
Definition UIElement.cs:377
Rectangle GetClippingRectangle(SpriteBatch spriteBatch)
Definition UIElement.cs:246

References Terraria.GameContent.UI.States.UIManageControls._buttonBack, Terraria.GameContent.UI.States.UIManageControls._buttonGamepad, Terraria.GameContent.UI.States.UIManageControls._buttonKeyboard, Terraria.GameContent.UI.States.UIManageControls._buttonProfile, Terraria.GameContent.UI.States.UIManageControls._buttonVs1, Terraria.GameContent.UI.States.UIManageControls._buttonVs2, Terraria.GameContent.UI.States.UIManageControls._uilist, Microsoft.Xna.Framework.Rectangle.Center, Terraria.UI.Gamepad.UILinkPointNavigator.ChangePoint(), Microsoft.Xna.Framework.MathHelper.Clamp(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, Terraria.UI.Gamepad.UILinkPointNavigator.Shortcuts.FANCYUI_HIGHEST_INDEX, Terraria.GameContent.UI.States.UIManageControls.ForceMoveTo, Terraria.UI.UIElement.GetClippingRectangle(), Terraria.UI.UIElement.GetInnerDimensions(), Terraria.GameContent.UI.Elements.UIList.GetSnapPoints(), Terraria.UI.SnapPoint.Id, System.key, System.Name, Terraria.UI.Gamepad.UILinkPointNavigator.Points, System.Collections.Generic.Dictionary< TKey, TValue >.Remove(), Terraria.UI.Gamepad.UILinkPointNavigator.SetPosition(), Terraria.UI.CalculatedStyle.ToRectangle(), and Terraria.Main.UIScale.

Referenced by Terraria.GameContent.UI.States.UIManageControls.Draw().