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

◆ SetupGamepadPoints()

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

Definition at line 508 of file UIEmotesMenu.cs.

509 {
510 UILinkPointNavigator.Shortcuts.BackButtonCommand = 1;
511 int num = 3001;
512 int num2 = num;
516 uILinkPoint.Unlink();
517 uILinkPoint.Up = num2 + 1;
519 num2++;
520 float num3 = 1f / Main.UIScale;
523 Vector2 maximum = clippingRectangle.BottomRight() * num3;
524 for (int i = 0; i < snapPoints.Count; i++)
525 {
526 if (!snapPoints[i].Position.Between(minimum, maximum))
527 {
529 i--;
530 }
531 }
532 int num4 = 0;
533 int num5 = 0;
534 int num6 = 7;
536 for (int j = 0; j < num6; j++)
537 {
539 if (emoteGroup.Count > 0)
540 {
541 list.Add(emoteGroup);
542 }
543 }
544 List<SnapPoint>[] array = list.ToArray();
545 for (int k = 0; k < array.Length; k++)
546 {
548 int num7 = list2.Count / 14;
549 if (list2.Count % 14 > 0)
550 {
551 num7++;
552 }
553 int num8 = 14;
554 if (list2.Count % 14 != 0)
555 {
556 num8 = list2.Count % 14;
557 }
558 for (int l = 0; l < list2.Count; l++)
559 {
561 uILinkPoint.Unlink();
563 int num9 = 14;
564 if (l / 14 == num7 - 1 && list2.Count % 14 != 0)
565 {
566 num9 = list2.Count % 14;
567 }
568 int num10 = l % 14;
569 uILinkPoint.Left = num2 - 1;
570 uILinkPoint.Right = num2 + 1;
571 uILinkPoint.Up = num2 - 14;
572 uILinkPoint.Down = num2 + 14;
573 if (num10 == num9 - 1)
574 {
575 uILinkPoint.Right = num2 - num9 + 1;
576 }
577 if (num10 == 0)
578 {
579 uILinkPoint.Left = num2 + num9 - 1;
580 }
581 if (num10 == 0)
582 {
583 uILinkPoint2.Up = num2;
584 }
585 if (l < 14)
586 {
587 if (num4 == 0)
588 {
589 uILinkPoint.Up = -1;
590 }
591 else
592 {
593 uILinkPoint.Up = num2 - 14;
594 if (num10 >= num4)
595 {
596 uILinkPoint.Up -= 14;
597 }
598 int num11 = k - 1;
599 while (num11 > 0 && array[num11].Count <= num10)
600 {
601 uILinkPoint.Up -= 14;
602 num11--;
603 }
604 }
605 }
606 int down = num;
607 if (k == array.Length - 1)
608 {
609 if (l / 14 < num7 - 1 && num10 >= list2.Count % 14)
610 {
611 uILinkPoint.Down = down;
612 }
613 if (l / 14 == num7 - 1)
614 {
615 uILinkPoint.Down = down;
616 }
617 }
618 else if (l / 14 == num7 - 1)
619 {
620 uILinkPoint.Down = num2 + 14;
621 for (int m = k + 1; m < array.Length && array[m].Count <= num10; m++)
622 {
623 uILinkPoint.Down += 14;
624 }
625 if (k == array.Length - 1)
626 {
627 uILinkPoint.Down = down;
628 }
629 }
630 else if (num10 >= num8)
631 {
632 uILinkPoint.Down = num2 + 14 + 14;
633 for (int n = k + 1; n < array.Length && array[n].Count <= num10; n++)
634 {
635 uILinkPoint.Down += 14;
636 }
637 }
638 num2++;
639 }
640 num4 = num8;
641 num5 = 14 - num4;
642 num2 += num5;
643 }
644 }
bool ICollection< KeyValuePair< TKey, TValue > >. Remove(KeyValuePair< TKey, TValue > keyValuePair)
List< SnapPoint > GetEmoteGroup(List< SnapPoint > ptsOnPage, int groupIndex)
static Dictionary< int, UILinkPoint > Points
static void SetPosition(int ID, Vector2 Position)
CalculatedStyle GetInnerDimensions()
Definition UIElement.cs:377
virtual List< SnapPoint > GetSnapPoints()
Definition UIElement.cs:267
Rectangle GetClippingRectangle(SpriteBatch spriteBatch)
Definition UIElement.cs:246

References Terraria.GameContent.UI.States.UIEmotesMenu._backPanel, Terraria.GameContent.UI.States.UIEmotesMenu._container, System.array, Microsoft.Xna.Framework.Rectangle.Center, System.Collections.Generic.Dictionary< TKey, TValue >.Count, Terraria.GameContent.Count, Terraria.UI.UIElement.GetClippingRectangle(), Terraria.GameContent.UI.States.UIEmotesMenu.GetEmoteGroup(), Terraria.UI.UIElement.GetInnerDimensions(), Terraria.UI.UIElement.GetSnapPoints(), System.list, 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.