public static void ProcessChanges()
        {
            var page = UILinkPointNavigator.Pages[UILinkPointNavigator.OldPage];

            if (UILinkPointNavigator.OldPage != UILinkPointNavigator.CurrentPage)
            {
                page.Leave();
                if (!UILinkPointNavigator.Pages.TryGetValue(UILinkPointNavigator.CurrentPage, out page))
                {
                    UILinkPointNavigator.GoToDefaultPage(0);
                    UILinkPointNavigator.ProcessChanges();
                    UILinkPointNavigator.OverridePoint = -1;
                }

                page.CurrentPoint = page.DefaultPoint;
                page.Enter();
                page.Update();
                UILinkPointNavigator.OldPage = UILinkPointNavigator.CurrentPage;
            }

            if (UILinkPointNavigator.OverridePoint == -1 ||
                !page.LinkMap.ContainsKey(UILinkPointNavigator.OverridePoint))
            {
                return;
            }
            page.CurrentPoint = UILinkPointNavigator.OverridePoint;
        }
Exemplo n.º 2
0
        // Token: 0x06000C9F RID: 3231 RVA: 0x003DADD0 File Offset: 0x003D8FD0
        public static void ProcessChanges()
        {
            UILinkPage uILinkPage = UILinkPointNavigator.Pages[UILinkPointNavigator.OldPage];

            if (UILinkPointNavigator.OldPage != UILinkPointNavigator.CurrentPage)
            {
                uILinkPage.Leave();
                if (!UILinkPointNavigator.Pages.TryGetValue(UILinkPointNavigator.CurrentPage, out uILinkPage))
                {
                    UILinkPointNavigator.GoToDefaultPage(0);
                    UILinkPointNavigator.ProcessChanges();
                    UILinkPointNavigator.OverridePoint = -1;
                }
                uILinkPage.CurrentPoint = uILinkPage.DefaultPoint;
                uILinkPage.Enter();
                uILinkPage.Update();
                UILinkPointNavigator.OldPage = UILinkPointNavigator.CurrentPage;
            }
            if (UILinkPointNavigator.OverridePoint != -1 && uILinkPage.LinkMap.ContainsKey(UILinkPointNavigator.OverridePoint))
            {
                uILinkPage.CurrentPoint = UILinkPointNavigator.OverridePoint;
            }
        }
Exemplo n.º 3
0
        public static void Update()
        {
            bool inUse = UILinkPointNavigator.InUse;

            UILinkPointNavigator.InUse = false;
            bool flag1 = true;

            if (flag1)
            {
                switch (PlayerInput.CurrentInputMode)
                {
                case InputMode.Keyboard:
                case InputMode.KeyboardUI:
                case InputMode.Mouse:
                    if (!Main.gameMenu)
                    {
                        flag1 = false;
                        break;
                    }
                    break;
                }
            }
            if (flag1 && PlayerInput.NavigatorRebindingLock > 0)
            {
                flag1 = false;
            }
            if (flag1 && !Main.gameMenu && !PlayerInput.UsingGamepadUI)
            {
                flag1 = false;
            }
            if (flag1 && !Main.gameMenu && PlayerInput.InBuildingMode)
            {
                flag1 = false;
            }
            if (flag1 && !Main.gameMenu && !UILinkPointNavigator.Available)
            {
                flag1 = false;
            }
            bool       flag2 = false;
            UILinkPage uiLinkPage;

            if (!UILinkPointNavigator.Pages.TryGetValue(UILinkPointNavigator.CurrentPage, out uiLinkPage))
            {
                flag2 = true;
            }
            else if (!uiLinkPage.IsValid())
            {
                flag2 = true;
            }
            if (flag2)
            {
                UILinkPointNavigator.GoToDefaultPage(0);
                UILinkPointNavigator.ProcessChanges();
                flag1 = false;
            }
            if (inUse != flag1)
            {
                if (!flag1)
                {
                    uiLinkPage.Leave();
                    UILinkPointNavigator.GoToDefaultPage(0);
                    UILinkPointNavigator.ProcessChanges();
                }
                else
                {
                    UILinkPointNavigator.GoToDefaultPage(0);
                    UILinkPointNavigator.ProcessChanges();
                    uiLinkPage.Enter();
                }
                if (flag1)
                {
                    Main.player[Main.myPlayer].releaseInventory = false;
                    Main.player[Main.myPlayer].releaseUseTile   = false;
                    PlayerInput.LockGamepadTileUseButton        = true;
                }
                if (!Main.gameMenu)
                {
                    if (flag1)
                    {
                        PlayerInput.NavigatorCachePosition();
                    }
                    else
                    {
                        PlayerInput.NavigatorUnCachePosition();
                    }
                }
            }
            if (!flag1)
            {
                return;
            }
            UILinkPointNavigator.InUse         = true;
            UILinkPointNavigator.OverridePoint = -1;
            if (UILinkPointNavigator.PageLeftCD > 0)
            {
                --UILinkPointNavigator.PageLeftCD;
            }
            if (UILinkPointNavigator.PageRightCD > 0)
            {
                --UILinkPointNavigator.PageRightCD;
            }
            Vector2 navigatorDirections = PlayerInput.Triggers.Current.GetNavigatorDirections();
            int     num1  = !PlayerInput.Triggers.Current.HotbarMinus ? 0 : (!PlayerInput.Triggers.Current.HotbarPlus ? 1 : 0);
            bool    flag3 = PlayerInput.Triggers.Current.HotbarPlus && !PlayerInput.Triggers.Current.HotbarMinus;

            if (num1 == 0)
            {
                UILinkPointNavigator.PageLeftCD = 0;
            }
            if (!flag3)
            {
                UILinkPointNavigator.PageRightCD = 0;
            }
            int  num2  = num1 == 0 ? 0 : (UILinkPointNavigator.PageLeftCD == 0 ? 1 : 0);
            bool flag4 = flag3 && UILinkPointNavigator.PageRightCD == 0;

            if ((double)UILinkPointNavigator.LastInput.X != (double)navigatorDirections.X)
            {
                UILinkPointNavigator.XCooldown = 0;
            }
            if ((double)UILinkPointNavigator.LastInput.Y != (double)navigatorDirections.Y)
            {
                UILinkPointNavigator.YCooldown = 0;
            }
            if (UILinkPointNavigator.XCooldown > 0)
            {
                --UILinkPointNavigator.XCooldown;
            }
            if (UILinkPointNavigator.YCooldown > 0)
            {
                --UILinkPointNavigator.YCooldown;
            }
            UILinkPointNavigator.LastInput = navigatorDirections;
            if (num2 != 0)
            {
                UILinkPointNavigator.PageLeftCD = 16;
            }
            if (flag4)
            {
                UILinkPointNavigator.PageRightCD = 16;
            }
            UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].Update();
            int num3 = 10;

            if (!Main.gameMenu && Main.playerInventory && (!Main.ingameOptionsWindow && !Main.inFancyUI) && (UILinkPointNavigator.CurrentPage == 0 || UILinkPointNavigator.CurrentPage == 4 || (UILinkPointNavigator.CurrentPage == 2 || UILinkPointNavigator.CurrentPage == 1) || (UILinkPointNavigator.CurrentPage == 20 || UILinkPointNavigator.CurrentPage == 21)))
            {
                num3 = PlayerInput.CurrentProfile.InventoryMoveCD;
            }
            if ((double)navigatorDirections.X == -1.0 && UILinkPointNavigator.XCooldown == 0)
            {
                UILinkPointNavigator.XCooldown = num3;
                UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].TravelLeft();
            }
            if ((double)navigatorDirections.X == 1.0 && UILinkPointNavigator.XCooldown == 0)
            {
                UILinkPointNavigator.XCooldown = num3;
                UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].TravelRight();
            }
            if ((double)navigatorDirections.Y == -1.0 && UILinkPointNavigator.YCooldown == 0)
            {
                UILinkPointNavigator.YCooldown = num3;
                UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].TravelUp();
            }
            if ((double)navigatorDirections.Y == 1.0 && UILinkPointNavigator.YCooldown == 0)
            {
                UILinkPointNavigator.YCooldown = num3;
                UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].TravelDown();
            }
            UILinkPointNavigator.XCooldown = UILinkPointNavigator.YCooldown = Math.Max(UILinkPointNavigator.XCooldown, UILinkPointNavigator.YCooldown);
            if (num2 != 0)
            {
                UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].SwapPageLeft();
            }
            if (flag4)
            {
                UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].SwapPageRight();
            }
            if (PlayerInput.Triggers.Current.UsedMovementKey)
            {
                Vector2 position  = UILinkPointNavigator.Points[UILinkPointNavigator.CurrentPoint].Position;
                Vector2 vector2_1 = new Vector2((float)PlayerInput.MouseX, (float)PlayerInput.MouseY);
                float   num4      = 0.3f;
                if (PlayerInput.InvisibleGamepadInMenus)
                {
                    num4 = 1f;
                }
                Vector2 vector2_2 = position;
                double  num5      = (double)num4;
                Vector2 vector2_3 = Vector2.Lerp(vector2_1, vector2_2, (float)num5);
                if (Main.gameMenu)
                {
                    if ((double)Math.Abs(vector2_3.X - position.X) <= 5.0)
                    {
                        vector2_3.X = position.X;
                    }
                    if ((double)Math.Abs(vector2_3.Y - position.Y) <= 5.0)
                    {
                        vector2_3.Y = position.Y;
                    }
                }
                PlayerInput.MouseX = (int)vector2_3.X;
                PlayerInput.MouseY = (int)vector2_3.Y;
            }
            UILinkPointNavigator.ResetFlagsEnd();
        }
Exemplo n.º 4
0
        // Token: 0x06000C98 RID: 3224 RVA: 0x003DA7A8 File Offset: 0x003D89A8
        public static void Update()
        {
            bool inUse = UILinkPointNavigator.InUse;

            UILinkPointNavigator.InUse = false;
            bool flag = true;

            if (flag)
            {
                InputMode currentInputMode = PlayerInput.CurrentInputMode;
                if (currentInputMode <= InputMode.Mouse && !Main.gameMenu)
                {
                    flag = false;
                }
            }
            if (flag && PlayerInput.NavigatorRebindingLock > 0)
            {
                flag = false;
            }
            if (flag && !Main.gameMenu && !PlayerInput.UsingGamepadUI)
            {
                flag = false;
            }
            if (flag && !Main.gameMenu && PlayerInput.InBuildingMode)
            {
                flag = false;
            }
            if (flag && !Main.gameMenu && !UILinkPointNavigator.Available)
            {
                flag = false;
            }
            bool       flag2 = false;
            UILinkPage uILinkPage;

            if (!UILinkPointNavigator.Pages.TryGetValue(UILinkPointNavigator.CurrentPage, out uILinkPage))
            {
                flag2 = true;
            }
            else if (!uILinkPage.IsValid())
            {
                flag2 = true;
            }
            if (flag2)
            {
                UILinkPointNavigator.GoToDefaultPage(0);
                UILinkPointNavigator.ProcessChanges();
                flag = false;
            }
            if (inUse != flag)
            {
                if (!flag)
                {
                    uILinkPage.Leave();
                    UILinkPointNavigator.GoToDefaultPage(0);
                    UILinkPointNavigator.ProcessChanges();
                }
                else
                {
                    UILinkPointNavigator.GoToDefaultPage(0);
                    UILinkPointNavigator.ProcessChanges();
                    uILinkPage.Enter();
                }
                if (flag)
                {
                    Main.player[Main.myPlayer].releaseInventory = false;
                    Main.player[Main.myPlayer].releaseUseTile   = false;
                    PlayerInput.LockTileUseButton = true;
                }
                if (!Main.gameMenu)
                {
                    if (flag)
                    {
                        PlayerInput.NavigatorCachePosition();
                    }
                    else
                    {
                        PlayerInput.NavigatorUnCachePosition();
                    }
                }
            }
            if (!flag)
            {
                return;
            }
            UILinkPointNavigator.InUse         = true;
            UILinkPointNavigator.OverridePoint = -1;
            if (UILinkPointNavigator.PageLeftCD > 0)
            {
                UILinkPointNavigator.PageLeftCD--;
            }
            if (UILinkPointNavigator.PageRightCD > 0)
            {
                UILinkPointNavigator.PageRightCD--;
            }
            Vector2 navigatorDirections = PlayerInput.Triggers.Current.GetNavigatorDirections();
            bool    flag3     = PlayerInput.Triggers.Current.HotbarMinus && !PlayerInput.Triggers.Current.HotbarPlus;
            object  arg_1AC_0 = PlayerInput.Triggers.Current.HotbarPlus && !PlayerInput.Triggers.Current.HotbarMinus;

            if (!flag3)
            {
                UILinkPointNavigator.PageLeftCD = 0;
            }
            object expr_1AC = arg_1AC_0;

            if (expr_1AC == null)
            {
                UILinkPointNavigator.PageRightCD = 0;
            }
            flag3 = (flag3 && UILinkPointNavigator.PageLeftCD == 0);
            object arg_23F_0 = expr_1AC != null && UILinkPointNavigator.PageRightCD == 0;

            if (UILinkPointNavigator.LastInput.X != navigatorDirections.X)
            {
                UILinkPointNavigator.XCooldown = 0;
            }
            if (UILinkPointNavigator.LastInput.Y != navigatorDirections.Y)
            {
                UILinkPointNavigator.YCooldown = 0;
            }
            if (UILinkPointNavigator.XCooldown > 0)
            {
                UILinkPointNavigator.XCooldown--;
            }
            if (UILinkPointNavigator.YCooldown > 0)
            {
                UILinkPointNavigator.YCooldown--;
            }
            UILinkPointNavigator.LastInput = navigatorDirections;
            if (flag3)
            {
                UILinkPointNavigator.PageLeftCD = 16;
            }
            object expr_23F = arg_23F_0;

            if (expr_23F != null)
            {
                UILinkPointNavigator.PageRightCD = 16;
            }
            UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].Update();
            int num = 10;

            if (!Main.gameMenu && Main.playerInventory && !Main.ingameOptionsWindow && !Main.inFancyUI && (UILinkPointNavigator.CurrentPage == 0 || UILinkPointNavigator.CurrentPage == 4 || UILinkPointNavigator.CurrentPage == 2 || UILinkPointNavigator.CurrentPage == 1))
            {
                num = PlayerInput.CurrentProfile.InventoryMoveCD;
            }
            if (navigatorDirections.X == -1f && UILinkPointNavigator.XCooldown == 0)
            {
                UILinkPointNavigator.XCooldown = num;
                UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].TravelLeft();
            }
            if (navigatorDirections.X == 1f && UILinkPointNavigator.XCooldown == 0)
            {
                UILinkPointNavigator.XCooldown = num;
                UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].TravelRight();
            }
            if (navigatorDirections.Y == -1f && UILinkPointNavigator.YCooldown == 0)
            {
                UILinkPointNavigator.YCooldown = num;
                UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].TravelUp();
            }
            if (navigatorDirections.Y == 1f && UILinkPointNavigator.YCooldown == 0)
            {
                UILinkPointNavigator.YCooldown = num;
                UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].TravelDown();
            }
            UILinkPointNavigator.XCooldown = (UILinkPointNavigator.YCooldown = Math.Max(UILinkPointNavigator.XCooldown, UILinkPointNavigator.YCooldown));
            if (flag3)
            {
                UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].SwapPageLeft();
            }
            if (expr_23F != null)
            {
                UILinkPointNavigator.Pages[UILinkPointNavigator.CurrentPage].SwapPageRight();
            }
            if (PlayerInput.Triggers.Current.UsedMovementKey)
            {
                Vector2 position  = UILinkPointNavigator.Points[UILinkPointNavigator.CurrentPoint].Position;
                Vector2 arg_404_0 = new Vector2((float)PlayerInput.MouseX, (float)PlayerInput.MouseY);
                float   amount    = 0.3f;
                if (PlayerInput.InvisibleGamepadInMenus)
                {
                    amount = 1f;
                }
                Vector2 vector = Vector2.Lerp(arg_404_0, position, amount);
                if (Main.gameMenu)
                {
                    if (Math.Abs(vector.X - position.X) <= 5f)
                    {
                        vector.X = position.X;
                    }
                    if (Math.Abs(vector.Y - position.Y) <= 5f)
                    {
                        vector.Y = position.Y;
                    }
                }
                PlayerInput.MouseX = (int)vector.X;
                PlayerInput.MouseY = (int)vector.Y;
            }
            UILinkPointNavigator.ResetFlagsEnd();
        }