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; }
// 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; } }
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(); }
// 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(); }