1078 lines
56 KiB
C#
1078 lines
56 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: Terraria.GameContent.UI.States.UIManageControls
|
|
// Assembly: Terraria, Version=1.4.0.5, Culture=neutral, PublicKeyToken=null
|
|
// MVID: 67F9E73E-0A81-4937-A22C-5515CD405A83
|
|
// Assembly location: C:\Users\mikeyisbaeyt\Downloads\depotdownloader-2.4.5\depots\105601\6707058\Terraria.exe
|
|
|
|
using Microsoft.Xna.Framework;
|
|
using Microsoft.Xna.Framework.Graphics;
|
|
using Microsoft.Xna.Framework.Input;
|
|
using ReLogic.Content;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Terraria.Audio;
|
|
using Terraria.GameContent.UI.Elements;
|
|
using Terraria.GameInput;
|
|
using Terraria.ID;
|
|
using Terraria.Initializers;
|
|
using Terraria.Localization;
|
|
using Terraria.UI;
|
|
using Terraria.UI.Gamepad;
|
|
|
|
namespace Terraria.GameContent.UI.States
|
|
{
|
|
public class UIManageControls : UIState
|
|
{
|
|
public static int ForceMoveTo = -1;
|
|
private const float PanelTextureHeight = 30f;
|
|
private static List<string> _BindingsFullLine = new List<string>()
|
|
{
|
|
"Throw",
|
|
"Inventory",
|
|
"RadialHotbar",
|
|
"RadialQuickbar",
|
|
"LockOn",
|
|
"ToggleCreativeMenu",
|
|
"sp3",
|
|
"sp4",
|
|
"sp5",
|
|
"sp6",
|
|
"sp7",
|
|
"sp8",
|
|
"sp18",
|
|
"sp19",
|
|
"sp9",
|
|
"sp10",
|
|
"sp11",
|
|
"sp12",
|
|
"sp13"
|
|
};
|
|
private static List<string> _BindingsHalfSingleLine = new List<string>()
|
|
{
|
|
"sp9",
|
|
"sp10",
|
|
"sp11",
|
|
"sp12",
|
|
"sp13"
|
|
};
|
|
private bool OnKeyboard = true;
|
|
private bool OnGameplay = true;
|
|
private List<UIElement> _bindsKeyboard = new List<UIElement>();
|
|
private List<UIElement> _bindsGamepad = new List<UIElement>();
|
|
private List<UIElement> _bindsKeyboardUI = new List<UIElement>();
|
|
private List<UIElement> _bindsGamepadUI = new List<UIElement>();
|
|
private UIElement _outerContainer;
|
|
private UIList _uilist;
|
|
private UIImageFramed _buttonKeyboard;
|
|
private UIImageFramed _buttonGamepad;
|
|
private UIImageFramed _buttonBorder1;
|
|
private UIImageFramed _buttonBorder2;
|
|
private UIKeybindingSimpleListItem _buttonProfile;
|
|
private UIElement _buttonBack;
|
|
private UIImageFramed _buttonVs1;
|
|
private UIImageFramed _buttonVs2;
|
|
private UIImageFramed _buttonBorderVs1;
|
|
private UIImageFramed _buttonBorderVs2;
|
|
private Asset<Texture2D> _KeyboardGamepadTexture;
|
|
private Asset<Texture2D> _keyboardGamepadBorderTexture;
|
|
private Asset<Texture2D> _GameplayVsUITexture;
|
|
private Asset<Texture2D> _GameplayVsUIBorderTexture;
|
|
private static int SnapPointIndex;
|
|
|
|
public override void OnInitialize()
|
|
{
|
|
this._KeyboardGamepadTexture = Main.Assets.Request<Texture2D>("Images/UI/Settings_Inputs", (AssetRequestMode) 1);
|
|
this._keyboardGamepadBorderTexture = Main.Assets.Request<Texture2D>("Images/UI/Settings_Inputs_Border", (AssetRequestMode) 1);
|
|
this._GameplayVsUITexture = Main.Assets.Request<Texture2D>("Images/UI/Settings_Inputs_2", (AssetRequestMode) 1);
|
|
this._GameplayVsUIBorderTexture = Main.Assets.Request<Texture2D>("Images/UI/Settings_Inputs_2_Border", (AssetRequestMode) 1);
|
|
UIElement element = new UIElement();
|
|
element.Width.Set(0.0f, 0.8f);
|
|
element.MaxWidth.Set(600f, 0.0f);
|
|
element.Top.Set(220f, 0.0f);
|
|
element.Height.Set(-200f, 1f);
|
|
element.HAlign = 0.5f;
|
|
this._outerContainer = element;
|
|
UIPanel uiPanel = new UIPanel();
|
|
uiPanel.Width.Set(0.0f, 1f);
|
|
uiPanel.Height.Set(-110f, 1f);
|
|
uiPanel.BackgroundColor = new Color(33, 43, 79) * 0.8f;
|
|
element.Append((UIElement) uiPanel);
|
|
this._buttonKeyboard = new UIImageFramed(this._KeyboardGamepadTexture, this._KeyboardGamepadTexture.Frame(2, 2));
|
|
this._buttonKeyboard.VAlign = 0.0f;
|
|
this._buttonKeyboard.HAlign = 0.0f;
|
|
this._buttonKeyboard.Left.Set(0.0f, 0.0f);
|
|
this._buttonKeyboard.Top.Set(8f, 0.0f);
|
|
this._buttonKeyboard.OnClick += new UIElement.MouseEvent(this.KeyboardButtonClick);
|
|
this._buttonKeyboard.OnMouseOver += new UIElement.MouseEvent(this.ManageBorderKeyboardOn);
|
|
this._buttonKeyboard.OnMouseOut += new UIElement.MouseEvent(this.ManageBorderKeyboardOff);
|
|
uiPanel.Append((UIElement) this._buttonKeyboard);
|
|
this._buttonGamepad = new UIImageFramed(this._KeyboardGamepadTexture, this._KeyboardGamepadTexture.Frame(2, 2, 1, 1));
|
|
this._buttonGamepad.VAlign = 0.0f;
|
|
this._buttonGamepad.HAlign = 0.0f;
|
|
this._buttonGamepad.Left.Set(76f, 0.0f);
|
|
this._buttonGamepad.Top.Set(8f, 0.0f);
|
|
this._buttonGamepad.OnClick += new UIElement.MouseEvent(this.GamepadButtonClick);
|
|
this._buttonGamepad.OnMouseOver += new UIElement.MouseEvent(this.ManageBorderGamepadOn);
|
|
this._buttonGamepad.OnMouseOut += new UIElement.MouseEvent(this.ManageBorderGamepadOff);
|
|
uiPanel.Append((UIElement) this._buttonGamepad);
|
|
this._buttonBorder1 = new UIImageFramed(this._keyboardGamepadBorderTexture, this._keyboardGamepadBorderTexture.Frame());
|
|
this._buttonBorder1.VAlign = 0.0f;
|
|
this._buttonBorder1.HAlign = 0.0f;
|
|
this._buttonBorder1.Left.Set(0.0f, 0.0f);
|
|
this._buttonBorder1.Top.Set(8f, 0.0f);
|
|
this._buttonBorder1.Color = Color.Silver;
|
|
this._buttonBorder1.IgnoresMouseInteraction = true;
|
|
uiPanel.Append((UIElement) this._buttonBorder1);
|
|
this._buttonBorder2 = new UIImageFramed(this._keyboardGamepadBorderTexture, this._keyboardGamepadBorderTexture.Frame());
|
|
this._buttonBorder2.VAlign = 0.0f;
|
|
this._buttonBorder2.HAlign = 0.0f;
|
|
this._buttonBorder2.Left.Set(76f, 0.0f);
|
|
this._buttonBorder2.Top.Set(8f, 0.0f);
|
|
this._buttonBorder2.Color = Color.Transparent;
|
|
this._buttonBorder2.IgnoresMouseInteraction = true;
|
|
uiPanel.Append((UIElement) this._buttonBorder2);
|
|
this._buttonVs1 = new UIImageFramed(this._GameplayVsUITexture, this._GameplayVsUITexture.Frame(2, 2));
|
|
this._buttonVs1.VAlign = 0.0f;
|
|
this._buttonVs1.HAlign = 0.0f;
|
|
this._buttonVs1.Left.Set(172f, 0.0f);
|
|
this._buttonVs1.Top.Set(8f, 0.0f);
|
|
this._buttonVs1.OnClick += new UIElement.MouseEvent(this.VsGameplayButtonClick);
|
|
this._buttonVs1.OnMouseOver += new UIElement.MouseEvent(this.ManageBorderGameplayOn);
|
|
this._buttonVs1.OnMouseOut += new UIElement.MouseEvent(this.ManageBorderGameplayOff);
|
|
uiPanel.Append((UIElement) this._buttonVs1);
|
|
this._buttonVs2 = new UIImageFramed(this._GameplayVsUITexture, this._GameplayVsUITexture.Frame(2, 2, 1, 1));
|
|
this._buttonVs2.VAlign = 0.0f;
|
|
this._buttonVs2.HAlign = 0.0f;
|
|
this._buttonVs2.Left.Set(212f, 0.0f);
|
|
this._buttonVs2.Top.Set(8f, 0.0f);
|
|
this._buttonVs2.OnClick += new UIElement.MouseEvent(this.VsMenuButtonClick);
|
|
this._buttonVs2.OnMouseOver += new UIElement.MouseEvent(this.ManageBorderMenuOn);
|
|
this._buttonVs2.OnMouseOut += new UIElement.MouseEvent(this.ManageBorderMenuOff);
|
|
uiPanel.Append((UIElement) this._buttonVs2);
|
|
this._buttonBorderVs1 = new UIImageFramed(this._GameplayVsUIBorderTexture, this._GameplayVsUIBorderTexture.Frame());
|
|
this._buttonBorderVs1.VAlign = 0.0f;
|
|
this._buttonBorderVs1.HAlign = 0.0f;
|
|
this._buttonBorderVs1.Left.Set(172f, 0.0f);
|
|
this._buttonBorderVs1.Top.Set(8f, 0.0f);
|
|
this._buttonBorderVs1.Color = Color.Silver;
|
|
this._buttonBorderVs1.IgnoresMouseInteraction = true;
|
|
uiPanel.Append((UIElement) this._buttonBorderVs1);
|
|
this._buttonBorderVs2 = new UIImageFramed(this._GameplayVsUIBorderTexture, this._GameplayVsUIBorderTexture.Frame());
|
|
this._buttonBorderVs2.VAlign = 0.0f;
|
|
this._buttonBorderVs2.HAlign = 0.0f;
|
|
this._buttonBorderVs2.Left.Set(212f, 0.0f);
|
|
this._buttonBorderVs2.Top.Set(8f, 0.0f);
|
|
this._buttonBorderVs2.Color = Color.Transparent;
|
|
this._buttonBorderVs2.IgnoresMouseInteraction = true;
|
|
uiPanel.Append((UIElement) this._buttonBorderVs2);
|
|
this._buttonProfile = new UIKeybindingSimpleListItem((Func<string>) (() => PlayerInput.CurrentProfile.ShowName), new Color(73, 94, 171, (int) byte.MaxValue) * 0.9f);
|
|
this._buttonProfile.VAlign = 0.0f;
|
|
this._buttonProfile.HAlign = 1f;
|
|
this._buttonProfile.Width.Set(180f, 0.0f);
|
|
this._buttonProfile.Height.Set(30f, 0.0f);
|
|
this._buttonProfile.MarginRight = 30f;
|
|
this._buttonProfile.Left.Set(0.0f, 0.0f);
|
|
this._buttonProfile.Top.Set(8f, 0.0f);
|
|
this._buttonProfile.OnClick += new UIElement.MouseEvent(this.profileButtonClick);
|
|
uiPanel.Append((UIElement) this._buttonProfile);
|
|
this._uilist = new UIList();
|
|
this._uilist.Width.Set(-25f, 1f);
|
|
this._uilist.Height.Set(-50f, 1f);
|
|
this._uilist.VAlign = 1f;
|
|
this._uilist.PaddingBottom = 5f;
|
|
this._uilist.ListPadding = 20f;
|
|
uiPanel.Append((UIElement) this._uilist);
|
|
this.AssembleBindPanels();
|
|
this.FillList();
|
|
UIScrollbar scrollbar = new UIScrollbar();
|
|
scrollbar.SetView(100f, 1000f);
|
|
scrollbar.Height.Set(-67f, 1f);
|
|
scrollbar.HAlign = 1f;
|
|
scrollbar.VAlign = 1f;
|
|
scrollbar.MarginBottom = 11f;
|
|
uiPanel.Append((UIElement) scrollbar);
|
|
this._uilist.SetScrollbar(scrollbar);
|
|
UITextPanel<LocalizedText> uiTextPanel1 = new UITextPanel<LocalizedText>(Language.GetText("UI.Keybindings"), 0.7f, true);
|
|
uiTextPanel1.HAlign = 0.5f;
|
|
uiTextPanel1.Top.Set(-45f, 0.0f);
|
|
uiTextPanel1.Left.Set(-10f, 0.0f);
|
|
uiTextPanel1.SetPadding(15f);
|
|
uiTextPanel1.BackgroundColor = new Color(73, 94, 171);
|
|
element.Append((UIElement) uiTextPanel1);
|
|
UITextPanel<LocalizedText> uiTextPanel2 = new UITextPanel<LocalizedText>(Language.GetText("UI.Back"), 0.7f, true);
|
|
uiTextPanel2.Width.Set(-10f, 0.5f);
|
|
uiTextPanel2.Height.Set(50f, 0.0f);
|
|
uiTextPanel2.VAlign = 1f;
|
|
uiTextPanel2.HAlign = 0.5f;
|
|
uiTextPanel2.Top.Set(-45f, 0.0f);
|
|
uiTextPanel2.OnMouseOver += new UIElement.MouseEvent(this.FadedMouseOver);
|
|
uiTextPanel2.OnMouseOut += new UIElement.MouseEvent(this.FadedMouseOut);
|
|
uiTextPanel2.OnClick += new UIElement.MouseEvent(this.GoBackClick);
|
|
element.Append((UIElement) uiTextPanel2);
|
|
this._buttonBack = (UIElement) uiTextPanel2;
|
|
this.Append(element);
|
|
}
|
|
|
|
private void AssembleBindPanels()
|
|
{
|
|
List<string> bindings1 = new List<string>()
|
|
{
|
|
"MouseLeft",
|
|
"MouseRight",
|
|
"Up",
|
|
"Down",
|
|
"Left",
|
|
"Right",
|
|
"Jump",
|
|
"Grapple",
|
|
"SmartSelect",
|
|
"SmartCursor",
|
|
"QuickMount",
|
|
"QuickHeal",
|
|
"QuickMana",
|
|
"QuickBuff",
|
|
"Throw",
|
|
"Inventory",
|
|
"ToggleCreativeMenu",
|
|
"ViewZoomIn",
|
|
"ViewZoomOut",
|
|
"sp9"
|
|
};
|
|
List<string> bindings2 = new List<string>()
|
|
{
|
|
"MouseLeft",
|
|
"MouseRight",
|
|
"Up",
|
|
"Down",
|
|
"Left",
|
|
"Right",
|
|
"Jump",
|
|
"Grapple",
|
|
"SmartSelect",
|
|
"SmartCursor",
|
|
"QuickMount",
|
|
"QuickHeal",
|
|
"QuickMana",
|
|
"QuickBuff",
|
|
"LockOn",
|
|
"Throw",
|
|
"Inventory",
|
|
"sp9"
|
|
};
|
|
List<string> bindings3 = new List<string>()
|
|
{
|
|
"HotbarMinus",
|
|
"HotbarPlus",
|
|
"Hotbar1",
|
|
"Hotbar2",
|
|
"Hotbar3",
|
|
"Hotbar4",
|
|
"Hotbar5",
|
|
"Hotbar6",
|
|
"Hotbar7",
|
|
"Hotbar8",
|
|
"Hotbar9",
|
|
"Hotbar10",
|
|
"sp10"
|
|
};
|
|
List<string> bindings4 = new List<string>()
|
|
{
|
|
"MapZoomIn",
|
|
"MapZoomOut",
|
|
"MapAlphaUp",
|
|
"MapAlphaDown",
|
|
"MapFull",
|
|
"MapStyle",
|
|
"sp11"
|
|
};
|
|
List<string> bindings5 = new List<string>()
|
|
{
|
|
"sp1",
|
|
"sp2",
|
|
"RadialHotbar",
|
|
"RadialQuickbar",
|
|
"sp12"
|
|
};
|
|
List<string> bindings6 = new List<string>()
|
|
{
|
|
"sp3",
|
|
"sp4",
|
|
"sp5",
|
|
"sp6",
|
|
"sp7",
|
|
"sp8",
|
|
"sp14",
|
|
"sp15",
|
|
"sp16",
|
|
"sp17",
|
|
"sp18",
|
|
"sp19",
|
|
"sp13"
|
|
};
|
|
InputMode currentInputMode1 = InputMode.Keyboard;
|
|
this._bindsKeyboard.Add((UIElement) this.CreateBindingGroup(0, bindings1, currentInputMode1));
|
|
this._bindsKeyboard.Add((UIElement) this.CreateBindingGroup(1, bindings4, currentInputMode1));
|
|
this._bindsKeyboard.Add((UIElement) this.CreateBindingGroup(2, bindings3, currentInputMode1));
|
|
InputMode currentInputMode2 = InputMode.XBoxGamepad;
|
|
this._bindsGamepad.Add((UIElement) this.CreateBindingGroup(0, bindings2, currentInputMode2));
|
|
this._bindsGamepad.Add((UIElement) this.CreateBindingGroup(1, bindings4, currentInputMode2));
|
|
this._bindsGamepad.Add((UIElement) this.CreateBindingGroup(2, bindings3, currentInputMode2));
|
|
this._bindsGamepad.Add((UIElement) this.CreateBindingGroup(3, bindings5, currentInputMode2));
|
|
this._bindsGamepad.Add((UIElement) this.CreateBindingGroup(4, bindings6, currentInputMode2));
|
|
InputMode currentInputMode3 = InputMode.KeyboardUI;
|
|
this._bindsKeyboardUI.Add((UIElement) this.CreateBindingGroup(0, bindings1, currentInputMode3));
|
|
this._bindsKeyboardUI.Add((UIElement) this.CreateBindingGroup(1, bindings4, currentInputMode3));
|
|
this._bindsKeyboardUI.Add((UIElement) this.CreateBindingGroup(2, bindings3, currentInputMode3));
|
|
InputMode currentInputMode4 = InputMode.XBoxGamepadUI;
|
|
this._bindsGamepadUI.Add((UIElement) this.CreateBindingGroup(0, bindings2, currentInputMode4));
|
|
this._bindsGamepadUI.Add((UIElement) this.CreateBindingGroup(1, bindings4, currentInputMode4));
|
|
this._bindsGamepadUI.Add((UIElement) this.CreateBindingGroup(2, bindings3, currentInputMode4));
|
|
this._bindsGamepadUI.Add((UIElement) this.CreateBindingGroup(3, bindings5, currentInputMode4));
|
|
this._bindsGamepadUI.Add((UIElement) this.CreateBindingGroup(4, bindings6, currentInputMode4));
|
|
}
|
|
|
|
private UISortableElement CreateBindingGroup(
|
|
int elementIndex,
|
|
List<string> bindings,
|
|
InputMode currentInputMode)
|
|
{
|
|
UISortableElement uiSortableElement = new UISortableElement(elementIndex);
|
|
uiSortableElement.HAlign = 0.5f;
|
|
uiSortableElement.Width.Set(0.0f, 1f);
|
|
uiSortableElement.Height.Set(2000f, 0.0f);
|
|
UIPanel uiPanel = new UIPanel();
|
|
uiPanel.Width.Set(0.0f, 1f);
|
|
uiPanel.Height.Set(-16f, 1f);
|
|
uiPanel.VAlign = 1f;
|
|
uiPanel.BackgroundColor = new Color(33, 43, 79) * 0.8f;
|
|
uiSortableElement.Append((UIElement) uiPanel);
|
|
UIList parent = new UIList();
|
|
parent.OverflowHidden = false;
|
|
parent.Width.Set(0.0f, 1f);
|
|
parent.Height.Set(-8f, 1f);
|
|
parent.VAlign = 1f;
|
|
parent.ListPadding = 5f;
|
|
uiPanel.Append((UIElement) parent);
|
|
Color backgroundColor = uiPanel.BackgroundColor;
|
|
switch (elementIndex)
|
|
{
|
|
case 0:
|
|
uiPanel.BackgroundColor = Color.Lerp(uiPanel.BackgroundColor, Color.Green, 0.18f);
|
|
break;
|
|
case 1:
|
|
uiPanel.BackgroundColor = Color.Lerp(uiPanel.BackgroundColor, Color.Goldenrod, 0.18f);
|
|
break;
|
|
case 2:
|
|
uiPanel.BackgroundColor = Color.Lerp(uiPanel.BackgroundColor, Color.HotPink, 0.18f);
|
|
break;
|
|
case 3:
|
|
uiPanel.BackgroundColor = Color.Lerp(uiPanel.BackgroundColor, Color.Indigo, 0.18f);
|
|
break;
|
|
case 4:
|
|
uiPanel.BackgroundColor = Color.Lerp(uiPanel.BackgroundColor, Color.Turquoise, 0.18f);
|
|
break;
|
|
}
|
|
this.CreateElementGroup(parent, bindings, currentInputMode, uiPanel.BackgroundColor);
|
|
uiPanel.BackgroundColor = uiPanel.BackgroundColor.MultiplyRGBA(new Color(111, 111, 111));
|
|
LocalizedText text = LocalizedText.Empty;
|
|
switch (elementIndex)
|
|
{
|
|
case 0:
|
|
text = currentInputMode == InputMode.Keyboard || currentInputMode == InputMode.XBoxGamepad ? Lang.menu[164] : Lang.menu[243];
|
|
break;
|
|
case 1:
|
|
text = Lang.menu[165];
|
|
break;
|
|
case 2:
|
|
text = Lang.menu[166];
|
|
break;
|
|
case 3:
|
|
text = Lang.menu[167];
|
|
break;
|
|
case 4:
|
|
text = Lang.menu[198];
|
|
break;
|
|
}
|
|
UITextPanel<LocalizedText> uiTextPanel1 = new UITextPanel<LocalizedText>(text, 0.7f);
|
|
uiTextPanel1.VAlign = 0.0f;
|
|
uiTextPanel1.HAlign = 0.5f;
|
|
UITextPanel<LocalizedText> uiTextPanel2 = uiTextPanel1;
|
|
uiSortableElement.Append((UIElement) uiTextPanel2);
|
|
uiSortableElement.Recalculate();
|
|
float totalHeight = parent.GetTotalHeight();
|
|
uiSortableElement.Width.Set(0.0f, 1f);
|
|
uiSortableElement.Height.Set((float) ((double) totalHeight + 30.0 + 16.0), 0.0f);
|
|
return uiSortableElement;
|
|
}
|
|
|
|
private void CreateElementGroup(
|
|
UIList parent,
|
|
List<string> bindings,
|
|
InputMode currentInputMode,
|
|
Color color)
|
|
{
|
|
for (int index = 0; index < bindings.Count; ++index)
|
|
{
|
|
string binding = bindings[index];
|
|
UISortableElement uiSortableElement = new UISortableElement(index);
|
|
uiSortableElement.Width.Set(0.0f, 1f);
|
|
uiSortableElement.Height.Set(30f, 0.0f);
|
|
uiSortableElement.HAlign = 0.5f;
|
|
parent.Add((UIElement) uiSortableElement);
|
|
if (UIManageControls._BindingsHalfSingleLine.Contains(bindings[index]))
|
|
{
|
|
UIElement panel = this.CreatePanel(bindings[index], currentInputMode, color);
|
|
panel.Width.Set(0.0f, 0.5f);
|
|
panel.HAlign = 0.5f;
|
|
panel.Height.Set(0.0f, 1f);
|
|
panel.SetSnapPoint("Wide", UIManageControls.SnapPointIndex++);
|
|
uiSortableElement.Append(panel);
|
|
}
|
|
else if (UIManageControls._BindingsFullLine.Contains(bindings[index]))
|
|
{
|
|
UIElement panel = this.CreatePanel(bindings[index], currentInputMode, color);
|
|
panel.Width.Set(0.0f, 1f);
|
|
panel.Height.Set(0.0f, 1f);
|
|
panel.SetSnapPoint("Wide", UIManageControls.SnapPointIndex++);
|
|
uiSortableElement.Append(panel);
|
|
}
|
|
else
|
|
{
|
|
UIElement panel1 = this.CreatePanel(bindings[index], currentInputMode, color);
|
|
panel1.Width.Set(-5f, 0.5f);
|
|
panel1.Height.Set(0.0f, 1f);
|
|
panel1.SetSnapPoint("Thin", UIManageControls.SnapPointIndex++);
|
|
uiSortableElement.Append(panel1);
|
|
++index;
|
|
if (index < bindings.Count)
|
|
{
|
|
UIElement panel2 = this.CreatePanel(bindings[index], currentInputMode, color);
|
|
panel2.Width.Set(-5f, 0.5f);
|
|
panel2.Height.Set(0.0f, 1f);
|
|
panel2.HAlign = 1f;
|
|
panel2.SetSnapPoint("Thin", UIManageControls.SnapPointIndex++);
|
|
uiSortableElement.Append(panel2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public UIElement CreatePanel(string bind, InputMode currentInputMode, Color color)
|
|
{
|
|
switch (bind)
|
|
{
|
|
case "sp1":
|
|
UIKeybindingToggleListItem keybindingToggleListItem1 = new UIKeybindingToggleListItem((Func<string>) (() => Lang.menu[196].Value), (Func<bool>) (() => PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap1"].Contains(Buttons.DPadUp.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap2"].Contains(Buttons.DPadRight.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap3"].Contains(Buttons.DPadDown.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap4"].Contains(Buttons.DPadLeft.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap1"].Contains(Buttons.DPadUp.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap2"].Contains(Buttons.DPadRight.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap3"].Contains(Buttons.DPadDown.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap4"].Contains(Buttons.DPadLeft.ToString())), color);
|
|
keybindingToggleListItem1.OnClick += new UIElement.MouseEvent(this.SnapButtonClick);
|
|
return (UIElement) keybindingToggleListItem1;
|
|
case "sp10":
|
|
UIKeybindingSimpleListItem keybindingSimpleListItem1 = new UIKeybindingSimpleListItem((Func<string>) (() => Lang.menu[86].Value), color);
|
|
keybindingSimpleListItem1.OnClick += (UIElement.MouseEvent) ((evt, listeningElement) =>
|
|
{
|
|
string copyableProfileName = UIManageControls.GetCopyableProfileName();
|
|
PlayerInput.CurrentProfile.CopyHotbarSettingsFrom(PlayerInput.OriginalProfiles[copyableProfileName], currentInputMode);
|
|
});
|
|
return (UIElement) keybindingSimpleListItem1;
|
|
case "sp11":
|
|
UIKeybindingSimpleListItem keybindingSimpleListItem2 = new UIKeybindingSimpleListItem((Func<string>) (() => Lang.menu[86].Value), color);
|
|
keybindingSimpleListItem2.OnClick += (UIElement.MouseEvent) ((evt, listeningElement) =>
|
|
{
|
|
string copyableProfileName = UIManageControls.GetCopyableProfileName();
|
|
PlayerInput.CurrentProfile.CopyMapSettingsFrom(PlayerInput.OriginalProfiles[copyableProfileName], currentInputMode);
|
|
});
|
|
return (UIElement) keybindingSimpleListItem2;
|
|
case "sp12":
|
|
UIKeybindingSimpleListItem keybindingSimpleListItem3 = new UIKeybindingSimpleListItem((Func<string>) (() => Lang.menu[86].Value), color);
|
|
keybindingSimpleListItem3.OnClick += (UIElement.MouseEvent) ((evt, listeningElement) =>
|
|
{
|
|
string copyableProfileName = UIManageControls.GetCopyableProfileName();
|
|
PlayerInput.CurrentProfile.CopyGamepadSettingsFrom(PlayerInput.OriginalProfiles[copyableProfileName], currentInputMode);
|
|
});
|
|
return (UIElement) keybindingSimpleListItem3;
|
|
case "sp13":
|
|
UIKeybindingSimpleListItem keybindingSimpleListItem4 = new UIKeybindingSimpleListItem((Func<string>) (() => Lang.menu[86].Value), color);
|
|
keybindingSimpleListItem4.OnClick += (UIElement.MouseEvent) ((evt, listeningElement) =>
|
|
{
|
|
string copyableProfileName = UIManageControls.GetCopyableProfileName();
|
|
PlayerInput.CurrentProfile.CopyGamepadAdvancedSettingsFrom(PlayerInput.OriginalProfiles[copyableProfileName], currentInputMode);
|
|
});
|
|
return (UIElement) keybindingSimpleListItem4;
|
|
case "sp14":
|
|
UIKeybindingToggleListItem keybindingToggleListItem2 = new UIKeybindingToggleListItem((Func<string>) (() => Lang.menu[205].Value), (Func<bool>) (() => PlayerInput.CurrentProfile.LeftThumbstickInvertX), color);
|
|
keybindingToggleListItem2.OnClick += (UIElement.MouseEvent) ((evt, listeningElement) =>
|
|
{
|
|
if (!PlayerInput.CurrentProfile.AllowEditting)
|
|
return;
|
|
PlayerInput.CurrentProfile.LeftThumbstickInvertX = !PlayerInput.CurrentProfile.LeftThumbstickInvertX;
|
|
});
|
|
return (UIElement) keybindingToggleListItem2;
|
|
case "sp15":
|
|
UIKeybindingToggleListItem keybindingToggleListItem3 = new UIKeybindingToggleListItem((Func<string>) (() => Lang.menu[206].Value), (Func<bool>) (() => PlayerInput.CurrentProfile.LeftThumbstickInvertY), color);
|
|
keybindingToggleListItem3.OnClick += (UIElement.MouseEvent) ((evt, listeningElement) =>
|
|
{
|
|
if (!PlayerInput.CurrentProfile.AllowEditting)
|
|
return;
|
|
PlayerInput.CurrentProfile.LeftThumbstickInvertY = !PlayerInput.CurrentProfile.LeftThumbstickInvertY;
|
|
});
|
|
return (UIElement) keybindingToggleListItem3;
|
|
case "sp16":
|
|
UIKeybindingToggleListItem keybindingToggleListItem4 = new UIKeybindingToggleListItem((Func<string>) (() => Lang.menu[207].Value), (Func<bool>) (() => PlayerInput.CurrentProfile.RightThumbstickInvertX), color);
|
|
keybindingToggleListItem4.OnClick += (UIElement.MouseEvent) ((evt, listeningElement) =>
|
|
{
|
|
if (!PlayerInput.CurrentProfile.AllowEditting)
|
|
return;
|
|
PlayerInput.CurrentProfile.RightThumbstickInvertX = !PlayerInput.CurrentProfile.RightThumbstickInvertX;
|
|
});
|
|
return (UIElement) keybindingToggleListItem4;
|
|
case "sp17":
|
|
UIKeybindingToggleListItem keybindingToggleListItem5 = new UIKeybindingToggleListItem((Func<string>) (() => Lang.menu[208].Value), (Func<bool>) (() => PlayerInput.CurrentProfile.RightThumbstickInvertY), color);
|
|
keybindingToggleListItem5.OnClick += (UIElement.MouseEvent) ((evt, listeningElement) =>
|
|
{
|
|
if (!PlayerInput.CurrentProfile.AllowEditting)
|
|
return;
|
|
PlayerInput.CurrentProfile.RightThumbstickInvertY = !PlayerInput.CurrentProfile.RightThumbstickInvertY;
|
|
});
|
|
return (UIElement) keybindingToggleListItem5;
|
|
case "sp18":
|
|
return (UIElement) new UIKeybindingSliderItem((Func<string>) (() =>
|
|
{
|
|
int holdTimeRequired = PlayerInput.CurrentProfile.HotbarRadialHoldTimeRequired;
|
|
return holdTimeRequired == -1 ? Lang.menu[228].Value : Lang.menu[227].Value + " (" + ((float) holdTimeRequired / 60f).ToString("F2") + "s)";
|
|
}), (Func<float>) (() => PlayerInput.CurrentProfile.HotbarRadialHoldTimeRequired == -1 ? 1f : (float) PlayerInput.CurrentProfile.HotbarRadialHoldTimeRequired / 301f), (Action<float>) (f =>
|
|
{
|
|
PlayerInput.CurrentProfile.HotbarRadialHoldTimeRequired = (int) ((double) f * 301.0);
|
|
if ((double) PlayerInput.CurrentProfile.HotbarRadialHoldTimeRequired != 301.0)
|
|
return;
|
|
PlayerInput.CurrentProfile.HotbarRadialHoldTimeRequired = -1;
|
|
}), (Action) (() =>
|
|
{
|
|
PlayerInput.CurrentProfile.HotbarRadialHoldTimeRequired = (int) ((double) UILinksInitializer.HandleSliderHorizontalInput(PlayerInput.CurrentProfile.HotbarRadialHoldTimeRequired == -1 ? 1f : (float) PlayerInput.CurrentProfile.HotbarRadialHoldTimeRequired / 301f, 0.0f, 1f, PlayerInput.CurrentProfile.InterfaceDeadzoneX) * 301.0);
|
|
if ((double) PlayerInput.CurrentProfile.HotbarRadialHoldTimeRequired != 301.0)
|
|
return;
|
|
PlayerInput.CurrentProfile.HotbarRadialHoldTimeRequired = -1;
|
|
}), 1007, color);
|
|
case "sp19":
|
|
return (UIElement) new UIKeybindingSliderItem((Func<string>) (() =>
|
|
{
|
|
int inventoryMoveCd = PlayerInput.CurrentProfile.InventoryMoveCD;
|
|
return Lang.menu[252].Value + " (" + ((float) inventoryMoveCd / 60f).ToString("F2") + "s)";
|
|
}), (Func<float>) (() => Utils.GetLerpValue(4f, 12f, (float) PlayerInput.CurrentProfile.InventoryMoveCD, true)), (Action<float>) (f => PlayerInput.CurrentProfile.InventoryMoveCD = (int) Math.Round((double) MathHelper.Lerp(4f, 12f, f))), (Action) (() =>
|
|
{
|
|
if (UILinkPointNavigator.Shortcuts.INV_MOVE_OPTION_CD > 0)
|
|
--UILinkPointNavigator.Shortcuts.INV_MOVE_OPTION_CD;
|
|
if (UILinkPointNavigator.Shortcuts.INV_MOVE_OPTION_CD != 0)
|
|
return;
|
|
float lerpValue = Utils.GetLerpValue(4f, 12f, (float) PlayerInput.CurrentProfile.InventoryMoveCD, true);
|
|
float num = UILinksInitializer.HandleSliderHorizontalInput(lerpValue, 0.0f, 1f, PlayerInput.CurrentProfile.InterfaceDeadzoneX);
|
|
if ((double) lerpValue == (double) num)
|
|
return;
|
|
UILinkPointNavigator.Shortcuts.INV_MOVE_OPTION_CD = 8;
|
|
PlayerInput.CurrentProfile.InventoryMoveCD = (int) MathHelper.Clamp((float) (PlayerInput.CurrentProfile.InventoryMoveCD + Math.Sign(num - lerpValue)), 4f, 12f);
|
|
}), 1008, color);
|
|
case "sp2":
|
|
UIKeybindingToggleListItem keybindingToggleListItem6 = new UIKeybindingToggleListItem((Func<string>) (() => Lang.menu[197].Value), (Func<bool>) (() => PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial1"].Contains(Buttons.DPadUp.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial2"].Contains(Buttons.DPadRight.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial3"].Contains(Buttons.DPadDown.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial4"].Contains(Buttons.DPadLeft.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial1"].Contains(Buttons.DPadUp.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial2"].Contains(Buttons.DPadRight.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial3"].Contains(Buttons.DPadDown.ToString()) && PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial4"].Contains(Buttons.DPadLeft.ToString())), color);
|
|
keybindingToggleListItem6.OnClick += new UIElement.MouseEvent(this.RadialButtonClick);
|
|
return (UIElement) keybindingToggleListItem6;
|
|
case "sp3":
|
|
return (UIElement) new UIKeybindingSliderItem((Func<string>) (() => Lang.menu[199].Value + " (" + PlayerInput.CurrentProfile.TriggersDeadzone.ToString("P1") + ")"), (Func<float>) (() => PlayerInput.CurrentProfile.TriggersDeadzone), (Action<float>) (f => PlayerInput.CurrentProfile.TriggersDeadzone = f), (Action) (() => PlayerInput.CurrentProfile.TriggersDeadzone = UILinksInitializer.HandleSliderHorizontalInput(PlayerInput.CurrentProfile.TriggersDeadzone, 0.0f, 0.95f, PlayerInput.CurrentProfile.InterfaceDeadzoneX, 0.35f)), 1000, color);
|
|
case "sp4":
|
|
return (UIElement) new UIKeybindingSliderItem((Func<string>) (() => Lang.menu[200].Value + " (" + PlayerInput.CurrentProfile.InterfaceDeadzoneX.ToString("P1") + ")"), (Func<float>) (() => PlayerInput.CurrentProfile.InterfaceDeadzoneX), (Action<float>) (f => PlayerInput.CurrentProfile.InterfaceDeadzoneX = f), (Action) (() => PlayerInput.CurrentProfile.InterfaceDeadzoneX = UILinksInitializer.HandleSliderHorizontalInput(PlayerInput.CurrentProfile.InterfaceDeadzoneX, 0.0f, 0.95f, 0.35f, 0.35f)), 1001, color);
|
|
case "sp5":
|
|
return (UIElement) new UIKeybindingSliderItem((Func<string>) (() => Lang.menu[201].Value + " (" + PlayerInput.CurrentProfile.LeftThumbstickDeadzoneX.ToString("P1") + ")"), (Func<float>) (() => PlayerInput.CurrentProfile.LeftThumbstickDeadzoneX), (Action<float>) (f => PlayerInput.CurrentProfile.LeftThumbstickDeadzoneX = f), (Action) (() => PlayerInput.CurrentProfile.LeftThumbstickDeadzoneX = UILinksInitializer.HandleSliderHorizontalInput(PlayerInput.CurrentProfile.LeftThumbstickDeadzoneX, 0.0f, 0.95f, PlayerInput.CurrentProfile.InterfaceDeadzoneX, 0.35f)), 1002, color);
|
|
case "sp6":
|
|
return (UIElement) new UIKeybindingSliderItem((Func<string>) (() => Lang.menu[202].Value + " (" + PlayerInput.CurrentProfile.LeftThumbstickDeadzoneY.ToString("P1") + ")"), (Func<float>) (() => PlayerInput.CurrentProfile.LeftThumbstickDeadzoneY), (Action<float>) (f => PlayerInput.CurrentProfile.LeftThumbstickDeadzoneY = f), (Action) (() => PlayerInput.CurrentProfile.LeftThumbstickDeadzoneY = UILinksInitializer.HandleSliderHorizontalInput(PlayerInput.CurrentProfile.LeftThumbstickDeadzoneY, 0.0f, 0.95f, PlayerInput.CurrentProfile.InterfaceDeadzoneX, 0.35f)), 1003, color);
|
|
case "sp7":
|
|
return (UIElement) new UIKeybindingSliderItem((Func<string>) (() => Lang.menu[203].Value + " (" + PlayerInput.CurrentProfile.RightThumbstickDeadzoneX.ToString("P1") + ")"), (Func<float>) (() => PlayerInput.CurrentProfile.RightThumbstickDeadzoneX), (Action<float>) (f => PlayerInput.CurrentProfile.RightThumbstickDeadzoneX = f), (Action) (() => PlayerInput.CurrentProfile.RightThumbstickDeadzoneX = UILinksInitializer.HandleSliderHorizontalInput(PlayerInput.CurrentProfile.RightThumbstickDeadzoneX, 0.0f, 0.95f, PlayerInput.CurrentProfile.InterfaceDeadzoneX, 0.35f)), 1004, color);
|
|
case "sp8":
|
|
return (UIElement) new UIKeybindingSliderItem((Func<string>) (() => Lang.menu[204].Value + " (" + PlayerInput.CurrentProfile.RightThumbstickDeadzoneY.ToString("P1") + ")"), (Func<float>) (() => PlayerInput.CurrentProfile.RightThumbstickDeadzoneY), (Action<float>) (f => PlayerInput.CurrentProfile.RightThumbstickDeadzoneY = f), (Action) (() => PlayerInput.CurrentProfile.RightThumbstickDeadzoneY = UILinksInitializer.HandleSliderHorizontalInput(PlayerInput.CurrentProfile.RightThumbstickDeadzoneY, 0.0f, 0.95f, PlayerInput.CurrentProfile.InterfaceDeadzoneX, 0.35f)), 1005, color);
|
|
case "sp9":
|
|
UIKeybindingSimpleListItem keybindingSimpleListItem5 = new UIKeybindingSimpleListItem((Func<string>) (() => Lang.menu[86].Value), color);
|
|
keybindingSimpleListItem5.OnClick += (UIElement.MouseEvent) ((evt, listeningElement) =>
|
|
{
|
|
string copyableProfileName = UIManageControls.GetCopyableProfileName();
|
|
PlayerInput.CurrentProfile.CopyGameplaySettingsFrom(PlayerInput.OriginalProfiles[copyableProfileName], currentInputMode);
|
|
});
|
|
return (UIElement) keybindingSimpleListItem5;
|
|
default:
|
|
return (UIElement) new UIKeybindingListItem(bind, currentInputMode, color);
|
|
}
|
|
}
|
|
|
|
public override void OnActivate()
|
|
{
|
|
if (Main.gameMenu)
|
|
{
|
|
this._outerContainer.Top.Set(220f, 0.0f);
|
|
this._outerContainer.Height.Set(-220f, 1f);
|
|
}
|
|
else
|
|
{
|
|
this._outerContainer.Top.Set(120f, 0.0f);
|
|
this._outerContainer.Height.Set(-120f, 1f);
|
|
}
|
|
if (!PlayerInput.UsingGamepadUI)
|
|
return;
|
|
UILinkPointNavigator.ChangePoint(3002);
|
|
}
|
|
|
|
private static string GetCopyableProfileName()
|
|
{
|
|
string str = "Redigit's Pick";
|
|
if (PlayerInput.OriginalProfiles.ContainsKey(PlayerInput.CurrentProfile.Name))
|
|
str = PlayerInput.CurrentProfile.Name;
|
|
return str;
|
|
}
|
|
|
|
private void FillList()
|
|
{
|
|
List<UIElement> uiElementList = this._bindsKeyboard;
|
|
if (!this.OnKeyboard)
|
|
uiElementList = this._bindsGamepad;
|
|
if (!this.OnGameplay)
|
|
uiElementList = this.OnKeyboard ? this._bindsKeyboardUI : this._bindsGamepadUI;
|
|
this._uilist.Clear();
|
|
foreach (UIElement uiElement in uiElementList)
|
|
this._uilist.Add(uiElement);
|
|
}
|
|
|
|
private void SnapButtonClick(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
if (!PlayerInput.CurrentProfile.AllowEditting)
|
|
return;
|
|
SoundEngine.PlaySound(12);
|
|
List<string> keyStatu1 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap1"];
|
|
Buttons buttons = Buttons.DPadUp;
|
|
string str1 = buttons.ToString();
|
|
if (keyStatu1.Contains(str1))
|
|
{
|
|
List<string> keyStatu2 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap2"];
|
|
buttons = Buttons.DPadRight;
|
|
string str2 = buttons.ToString();
|
|
if (keyStatu2.Contains(str2))
|
|
{
|
|
List<string> keyStatu3 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap3"];
|
|
buttons = Buttons.DPadDown;
|
|
string str3 = buttons.ToString();
|
|
if (keyStatu3.Contains(str3))
|
|
{
|
|
List<string> keyStatu4 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap4"];
|
|
buttons = Buttons.DPadLeft;
|
|
string str4 = buttons.ToString();
|
|
if (keyStatu4.Contains(str4))
|
|
{
|
|
List<string> keyStatu5 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap1"];
|
|
buttons = Buttons.DPadUp;
|
|
string str5 = buttons.ToString();
|
|
if (keyStatu5.Contains(str5))
|
|
{
|
|
List<string> keyStatu6 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap2"];
|
|
buttons = Buttons.DPadRight;
|
|
string str6 = buttons.ToString();
|
|
if (keyStatu6.Contains(str6))
|
|
{
|
|
List<string> keyStatu7 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap3"];
|
|
buttons = Buttons.DPadDown;
|
|
string str7 = buttons.ToString();
|
|
if (keyStatu7.Contains(str7))
|
|
{
|
|
List<string> keyStatu8 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap4"];
|
|
buttons = Buttons.DPadLeft;
|
|
string str8 = buttons.ToString();
|
|
if (keyStatu8.Contains(str8))
|
|
{
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap1"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap2"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap3"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap4"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap1"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap2"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap3"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap4"].Clear();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial1"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial2"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial3"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial4"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial1"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial2"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial3"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial4"].Clear();
|
|
Dictionary<string, List<string>> keyStatus1 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus;
|
|
List<string> stringList1 = new List<string>();
|
|
buttons = Buttons.DPadUp;
|
|
stringList1.Add(buttons.ToString());
|
|
keyStatus1["DpadSnap1"] = stringList1;
|
|
Dictionary<string, List<string>> keyStatus2 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus;
|
|
List<string> stringList2 = new List<string>();
|
|
buttons = Buttons.DPadRight;
|
|
stringList2.Add(buttons.ToString());
|
|
keyStatus2["DpadSnap2"] = stringList2;
|
|
Dictionary<string, List<string>> keyStatus3 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus;
|
|
List<string> stringList3 = new List<string>();
|
|
buttons = Buttons.DPadDown;
|
|
stringList3.Add(buttons.ToString());
|
|
keyStatus3["DpadSnap3"] = stringList3;
|
|
Dictionary<string, List<string>> keyStatus4 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus;
|
|
List<string> stringList4 = new List<string>();
|
|
buttons = Buttons.DPadLeft;
|
|
stringList4.Add(buttons.ToString());
|
|
keyStatus4["DpadSnap4"] = stringList4;
|
|
Dictionary<string, List<string>> keyStatus5 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus;
|
|
List<string> stringList5 = new List<string>();
|
|
buttons = Buttons.DPadUp;
|
|
stringList5.Add(buttons.ToString());
|
|
keyStatus5["DpadSnap1"] = stringList5;
|
|
Dictionary<string, List<string>> keyStatus6 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus;
|
|
List<string> stringList6 = new List<string>();
|
|
buttons = Buttons.DPadRight;
|
|
stringList6.Add(buttons.ToString());
|
|
keyStatus6["DpadSnap2"] = stringList6;
|
|
Dictionary<string, List<string>> keyStatus7 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus;
|
|
List<string> stringList7 = new List<string>();
|
|
buttons = Buttons.DPadDown;
|
|
stringList7.Add(buttons.ToString());
|
|
keyStatus7["DpadSnap3"] = stringList7;
|
|
Dictionary<string, List<string>> keyStatus8 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus;
|
|
List<string> stringList8 = new List<string>();
|
|
buttons = Buttons.DPadLeft;
|
|
stringList8.Add(buttons.ToString());
|
|
keyStatus8["DpadSnap4"] = stringList8;
|
|
}
|
|
|
|
private void RadialButtonClick(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
if (!PlayerInput.CurrentProfile.AllowEditting)
|
|
return;
|
|
SoundEngine.PlaySound(12);
|
|
List<string> keyStatu1 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial1"];
|
|
Buttons buttons = Buttons.DPadUp;
|
|
string str1 = buttons.ToString();
|
|
if (keyStatu1.Contains(str1))
|
|
{
|
|
List<string> keyStatu2 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial2"];
|
|
buttons = Buttons.DPadRight;
|
|
string str2 = buttons.ToString();
|
|
if (keyStatu2.Contains(str2))
|
|
{
|
|
List<string> keyStatu3 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial3"];
|
|
buttons = Buttons.DPadDown;
|
|
string str3 = buttons.ToString();
|
|
if (keyStatu3.Contains(str3))
|
|
{
|
|
List<string> keyStatu4 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial4"];
|
|
buttons = Buttons.DPadLeft;
|
|
string str4 = buttons.ToString();
|
|
if (keyStatu4.Contains(str4))
|
|
{
|
|
List<string> keyStatu5 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial1"];
|
|
buttons = Buttons.DPadUp;
|
|
string str5 = buttons.ToString();
|
|
if (keyStatu5.Contains(str5))
|
|
{
|
|
List<string> keyStatu6 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial2"];
|
|
buttons = Buttons.DPadRight;
|
|
string str6 = buttons.ToString();
|
|
if (keyStatu6.Contains(str6))
|
|
{
|
|
List<string> keyStatu7 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial3"];
|
|
buttons = Buttons.DPadDown;
|
|
string str7 = buttons.ToString();
|
|
if (keyStatu7.Contains(str7))
|
|
{
|
|
List<string> keyStatu8 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial4"];
|
|
buttons = Buttons.DPadLeft;
|
|
string str8 = buttons.ToString();
|
|
if (keyStatu8.Contains(str8))
|
|
{
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial1"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial2"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial3"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadRadial4"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial1"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial2"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial3"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadRadial4"].Clear();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap1"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap2"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap3"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus["DpadSnap4"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap1"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap2"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap3"].Clear();
|
|
PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus["DpadSnap4"].Clear();
|
|
Dictionary<string, List<string>> keyStatus1 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus;
|
|
List<string> stringList1 = new List<string>();
|
|
buttons = Buttons.DPadUp;
|
|
stringList1.Add(buttons.ToString());
|
|
keyStatus1["DpadRadial1"] = stringList1;
|
|
Dictionary<string, List<string>> keyStatus2 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus;
|
|
List<string> stringList2 = new List<string>();
|
|
buttons = Buttons.DPadRight;
|
|
stringList2.Add(buttons.ToString());
|
|
keyStatus2["DpadRadial2"] = stringList2;
|
|
Dictionary<string, List<string>> keyStatus3 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus;
|
|
List<string> stringList3 = new List<string>();
|
|
buttons = Buttons.DPadDown;
|
|
stringList3.Add(buttons.ToString());
|
|
keyStatus3["DpadRadial3"] = stringList3;
|
|
Dictionary<string, List<string>> keyStatus4 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepad].KeyStatus;
|
|
List<string> stringList4 = new List<string>();
|
|
buttons = Buttons.DPadLeft;
|
|
stringList4.Add(buttons.ToString());
|
|
keyStatus4["DpadRadial4"] = stringList4;
|
|
Dictionary<string, List<string>> keyStatus5 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus;
|
|
List<string> stringList5 = new List<string>();
|
|
buttons = Buttons.DPadUp;
|
|
stringList5.Add(buttons.ToString());
|
|
keyStatus5["DpadRadial1"] = stringList5;
|
|
Dictionary<string, List<string>> keyStatus6 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus;
|
|
List<string> stringList6 = new List<string>();
|
|
buttons = Buttons.DPadRight;
|
|
stringList6.Add(buttons.ToString());
|
|
keyStatus6["DpadRadial2"] = stringList6;
|
|
Dictionary<string, List<string>> keyStatus7 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus;
|
|
List<string> stringList7 = new List<string>();
|
|
buttons = Buttons.DPadDown;
|
|
stringList7.Add(buttons.ToString());
|
|
keyStatus7["DpadRadial3"] = stringList7;
|
|
Dictionary<string, List<string>> keyStatus8 = PlayerInput.CurrentProfile.InputModes[InputMode.XBoxGamepadUI].KeyStatus;
|
|
List<string> stringList8 = new List<string>();
|
|
buttons = Buttons.DPadLeft;
|
|
stringList8.Add(buttons.ToString());
|
|
keyStatus8["DpadRadial4"] = stringList8;
|
|
}
|
|
|
|
private void KeyboardButtonClick(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
this._buttonKeyboard.SetFrame(this._KeyboardGamepadTexture.Frame(2, 2));
|
|
this._buttonGamepad.SetFrame(this._KeyboardGamepadTexture.Frame(2, 2, 1, 1));
|
|
this.OnKeyboard = true;
|
|
this.FillList();
|
|
}
|
|
|
|
private void GamepadButtonClick(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
this._buttonKeyboard.SetFrame(this._KeyboardGamepadTexture.Frame(2, 2, frameY: 1));
|
|
this._buttonGamepad.SetFrame(this._KeyboardGamepadTexture.Frame(2, 2, 1));
|
|
this.OnKeyboard = false;
|
|
this.FillList();
|
|
}
|
|
|
|
private void ManageBorderKeyboardOn(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
this._buttonBorder2.Color = !this.OnKeyboard ? Color.Silver : Color.Black;
|
|
this._buttonBorder1.Color = Main.OurFavoriteColor;
|
|
}
|
|
|
|
private void ManageBorderKeyboardOff(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
this._buttonBorder2.Color = !this.OnKeyboard ? Color.Silver : Color.Black;
|
|
this._buttonBorder1.Color = this.OnKeyboard ? Color.Silver : Color.Black;
|
|
}
|
|
|
|
private void ManageBorderGamepadOn(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
this._buttonBorder1.Color = this.OnKeyboard ? Color.Silver : Color.Black;
|
|
this._buttonBorder2.Color = Main.OurFavoriteColor;
|
|
}
|
|
|
|
private void ManageBorderGamepadOff(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
this._buttonBorder1.Color = this.OnKeyboard ? Color.Silver : Color.Black;
|
|
this._buttonBorder2.Color = !this.OnKeyboard ? Color.Silver : Color.Black;
|
|
}
|
|
|
|
private void VsGameplayButtonClick(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
this._buttonVs1.SetFrame(this._GameplayVsUITexture.Frame(2, 2));
|
|
this._buttonVs2.SetFrame(this._GameplayVsUITexture.Frame(2, 2, 1, 1));
|
|
this.OnGameplay = true;
|
|
this.FillList();
|
|
}
|
|
|
|
private void VsMenuButtonClick(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
this._buttonVs1.SetFrame(this._GameplayVsUITexture.Frame(2, 2, frameY: 1));
|
|
this._buttonVs2.SetFrame(this._GameplayVsUITexture.Frame(2, 2, 1));
|
|
this.OnGameplay = false;
|
|
this.FillList();
|
|
}
|
|
|
|
private void ManageBorderGameplayOn(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
this._buttonBorderVs2.Color = !this.OnGameplay ? Color.Silver : Color.Black;
|
|
this._buttonBorderVs1.Color = Main.OurFavoriteColor;
|
|
}
|
|
|
|
private void ManageBorderGameplayOff(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
this._buttonBorderVs2.Color = !this.OnGameplay ? Color.Silver : Color.Black;
|
|
this._buttonBorderVs1.Color = this.OnGameplay ? Color.Silver : Color.Black;
|
|
}
|
|
|
|
private void ManageBorderMenuOn(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
this._buttonBorderVs1.Color = this.OnGameplay ? Color.Silver : Color.Black;
|
|
this._buttonBorderVs2.Color = Main.OurFavoriteColor;
|
|
}
|
|
|
|
private void ManageBorderMenuOff(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
this._buttonBorderVs1.Color = this.OnGameplay ? Color.Silver : Color.Black;
|
|
this._buttonBorderVs2.Color = !this.OnGameplay ? Color.Silver : Color.Black;
|
|
}
|
|
|
|
private void profileButtonClick(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
string name = PlayerInput.CurrentProfile.Name;
|
|
List<string> list = PlayerInput.Profiles.Keys.ToList<string>();
|
|
int index = list.IndexOf(name) + 1;
|
|
if (index >= list.Count)
|
|
index -= list.Count;
|
|
PlayerInput.SetSelectedProfile(list[index]);
|
|
}
|
|
|
|
private void FadedMouseOver(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
SoundEngine.PlaySound(12);
|
|
((UIPanel) evt.Target).BackgroundColor = new Color(73, 94, 171);
|
|
((UIPanel) evt.Target).BorderColor = Colors.FancyUIFatButtonMouseOver;
|
|
}
|
|
|
|
private void FadedMouseOut(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
((UIPanel) evt.Target).BackgroundColor = new Color(63, 82, 151) * 0.7f;
|
|
((UIPanel) evt.Target).BorderColor = Color.Black;
|
|
}
|
|
|
|
private void GoBackClick(UIMouseEvent evt, UIElement listeningElement)
|
|
{
|
|
Main.menuMode = 1127;
|
|
IngameFancyUI.Close();
|
|
}
|
|
|
|
public override void Draw(SpriteBatch spriteBatch)
|
|
{
|
|
base.Draw(spriteBatch);
|
|
this.SetupGamepadPoints(spriteBatch);
|
|
}
|
|
|
|
private void SetupGamepadPoints(SpriteBatch spriteBatch)
|
|
{
|
|
UILinkPointNavigator.Shortcuts.BackButtonCommand = 4;
|
|
int num1 = 3000;
|
|
UILinkPointNavigator.SetPosition(num1, this._buttonBack.GetInnerDimensions().ToRectangle().Center.ToVector2());
|
|
UILinkPointNavigator.SetPosition(num1 + 1, this._buttonKeyboard.GetInnerDimensions().ToRectangle().Center.ToVector2());
|
|
UILinkPointNavigator.SetPosition(num1 + 2, this._buttonGamepad.GetInnerDimensions().ToRectangle().Center.ToVector2());
|
|
UILinkPointNavigator.SetPosition(num1 + 3, this._buttonProfile.GetInnerDimensions().ToRectangle().Center.ToVector2());
|
|
UILinkPointNavigator.SetPosition(num1 + 4, this._buttonVs1.GetInnerDimensions().ToRectangle().Center.ToVector2());
|
|
UILinkPointNavigator.SetPosition(num1 + 5, this._buttonVs2.GetInnerDimensions().ToRectangle().Center.ToVector2());
|
|
int key1 = num1;
|
|
UILinkPoint point1 = UILinkPointNavigator.Points[key1];
|
|
point1.Unlink();
|
|
point1.Up = num1 + 6;
|
|
int key2 = num1 + 1;
|
|
UILinkPoint point2 = UILinkPointNavigator.Points[key2];
|
|
point2.Unlink();
|
|
point2.Right = num1 + 2;
|
|
point2.Down = num1 + 6;
|
|
int key3 = num1 + 2;
|
|
UILinkPoint point3 = UILinkPointNavigator.Points[key3];
|
|
point3.Unlink();
|
|
point3.Left = num1 + 1;
|
|
point3.Right = num1 + 4;
|
|
point3.Down = num1 + 6;
|
|
int key4 = num1 + 4;
|
|
UILinkPoint point4 = UILinkPointNavigator.Points[key4];
|
|
point4.Unlink();
|
|
point4.Left = num1 + 2;
|
|
point4.Right = num1 + 5;
|
|
point4.Down = num1 + 6;
|
|
int key5 = num1 + 5;
|
|
UILinkPoint point5 = UILinkPointNavigator.Points[key5];
|
|
point5.Unlink();
|
|
point5.Left = num1 + 4;
|
|
point5.Right = num1 + 3;
|
|
point5.Down = num1 + 6;
|
|
int key6 = num1 + 3;
|
|
UILinkPoint point6 = UILinkPointNavigator.Points[key6];
|
|
point6.Unlink();
|
|
point6.Left = num1 + 5;
|
|
point6.Down = num1 + 6;
|
|
float num2 = 1f / Main.UIScale;
|
|
Rectangle clippingRectangle = this._uilist.GetClippingRectangle(spriteBatch);
|
|
Vector2 minimum = clippingRectangle.TopLeft() * num2;
|
|
Vector2 maximum = clippingRectangle.BottomRight() * num2;
|
|
List<SnapPoint> snapPoints = this._uilist.GetSnapPoints();
|
|
for (int index = 0; index < snapPoints.Count; ++index)
|
|
{
|
|
if (!snapPoints[index].Position.Between(minimum, maximum))
|
|
{
|
|
Vector2 position = snapPoints[index].Position;
|
|
snapPoints.Remove(snapPoints[index]);
|
|
--index;
|
|
}
|
|
}
|
|
snapPoints.Sort((Comparison<SnapPoint>) ((x, y) => x.Id.CompareTo(y.Id)));
|
|
for (int index = 0; index < snapPoints.Count; ++index)
|
|
{
|
|
int num3 = num1 + 6 + index;
|
|
if (snapPoints[index].Name == "Thin")
|
|
{
|
|
UILinkPoint point7 = UILinkPointNavigator.Points[num3];
|
|
point7.Unlink();
|
|
UILinkPointNavigator.SetPosition(num3, snapPoints[index].Position);
|
|
point7.Right = num3 + 1;
|
|
point7.Down = index < snapPoints.Count - 2 ? num3 + 2 : num1;
|
|
point7.Up = index < 2 ? num1 + 1 : (snapPoints[index - 1].Name == "Wide" ? num3 - 1 : num3 - 2);
|
|
UILinkPointNavigator.Points[num1].Up = num3;
|
|
UILinkPointNavigator.Shortcuts.FANCYUI_HIGHEST_INDEX = num3;
|
|
++index;
|
|
if (index < snapPoints.Count)
|
|
{
|
|
int num4 = num1 + 6 + index;
|
|
UILinkPoint point8 = UILinkPointNavigator.Points[num4];
|
|
point8.Unlink();
|
|
UILinkPointNavigator.SetPosition(num4, snapPoints[index].Position);
|
|
point8.Left = num4 - 1;
|
|
point8.Down = index < snapPoints.Count - 1 ? (snapPoints[index + 1].Name == "Wide" ? num4 + 1 : num4 + 2) : num1;
|
|
point8.Up = index < 2 ? num1 + 1 : num4 - 2;
|
|
UILinkPointNavigator.Shortcuts.FANCYUI_HIGHEST_INDEX = num4;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
UILinkPoint point9 = UILinkPointNavigator.Points[num3];
|
|
point9.Unlink();
|
|
UILinkPointNavigator.SetPosition(num3, snapPoints[index].Position);
|
|
point9.Down = index < snapPoints.Count - 1 ? num3 + 1 : num1;
|
|
point9.Up = index < 1 ? num1 + 1 : (snapPoints[index - 1].Name == "Wide" ? num3 - 1 : num3 - 2);
|
|
UILinkPointNavigator.Shortcuts.FANCYUI_HIGHEST_INDEX = num3;
|
|
UILinkPointNavigator.Points[num1].Up = num3;
|
|
}
|
|
}
|
|
if (UIManageControls.ForceMoveTo == -1)
|
|
return;
|
|
UILinkPointNavigator.ChangePoint((int) MathHelper.Clamp((float) UIManageControls.ForceMoveTo, (float) num1, (float) UILinkPointNavigator.Shortcuts.FANCYUI_HIGHEST_INDEX));
|
|
UIManageControls.ForceMoveTo = -1;
|
|
}
|
|
}
|
|
}
|