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

◆ DrawSelf()

override void Terraria.GameContent.UI.Elements.UIKeybindingSliderItem.DrawSelf ( SpriteBatch spriteBatch)
inlineprotectedvirtual

Reimplemented from Terraria.UI.UIElement.

Definition at line 42 of file UIKeybindingSliderItem.cs.

43 {
44 float num = 6f;
45 base.DrawSelf(spriteBatch);
46 int num2 = 0;
47 IngameOptions.rightHover = -1;
48 if (!Main.mouseLeft)
49 {
50 IngameOptions.rightLock = -1;
51 }
52 if (IngameOptions.rightLock == _sliderIDInPage)
53 {
54 num2 = 1;
55 }
56 else if (IngameOptions.rightLock != -1)
57 {
58 num2 = 2;
59 }
60 CalculatedStyle dimensions = GetDimensions();
61 float num3 = dimensions.Width + 1f;
62 Vector2 vector = new Vector2(dimensions.X, dimensions.Y);
63 bool flag = base.IsMouseHovering;
64 if (num2 == 1)
65 {
66 flag = true;
67 }
68 if (num2 == 2)
69 {
70 flag = false;
71 }
72 Vector2 baseScale = new Vector2(0.8f);
73 Color value = (false ? Color.Gold : (flag ? Color.White : Color.Silver));
74 value = Color.Lerp(value, Color.White, flag ? 0.5f : 0f);
75 Color color = (flag ? _color : _color.MultiplyRGBA(new Color(180, 180, 180)));
76 Vector2 position = vector;
77 Utils.DrawSettingsPanel(spriteBatch, position, num3, color);
78 position.X += 8f;
79 position.Y += 2f + num;
80 ChatManager.DrawColorCodedStringWithShadow(spriteBatch, FontAssets.ItemStack.Value, _TextDisplayFunction(), position, value, 0f, Vector2.Zero, baseScale, num3);
81 position.X -= 17f;
82 TextureAssets.ColorBar.Frame();
83 position = new Vector2(dimensions.X + dimensions.Width - 10f, dimensions.Y + 10f + num);
84 IngameOptions.valuePosition = position;
85 float obj = IngameOptions.DrawValueBar(spriteBatch, 1f, _GetStatusFunction(), num2);
86 if (IngameOptions.inBar || IngameOptions.rightLock == _sliderIDInPage)
87 {
88 IngameOptions.rightHover = _sliderIDInPage;
89 if (PlayerInput.Triggers.Current.MouseLeft && PlayerInput.CurrentProfile.AllowEditting && !PlayerInput.UsingGamepad && IngameOptions.rightLock == _sliderIDInPage)
90 {
92 }
93 }
94 if (IngameOptions.rightHover != -1 && IngameOptions.rightLock == -1)
95 {
96 IngameOptions.rightLock = IngameOptions.rightHover;
97 }
98 if (base.IsMouseHovering && PlayerInput.CurrentProfile.AllowEditting)
99 {
101 }
102 }
static TriggersPack Triggers
static PlayerInputProfile CurrentProfile
static Vector2 DrawColorCodedStringWithShadow(SpriteBatch spriteBatch, DynamicSpriteFont font, TextSnippet[] snippets, Vector2 position, float rotation, Vector2 origin, Vector2 baseScale, out int hoveredSnippet, float maxWidth=-1f, float spread=2f)
CalculatedStyle GetDimensions()
Definition UIElement.cs:382
static Color Lerp(Color value1, Color value2, float amount)
Definition Color.cs:491

References Terraria.GameContent.UI.Elements.UIKeybindingSliderItem._color, Terraria.GameContent.UI.Elements.UIKeybindingSliderItem._GetStatusFunction, Terraria.GameContent.UI.Elements.UIKeybindingSliderItem._SlideGamepadAction, Terraria.GameContent.UI.Elements.UIKeybindingSliderItem._SlideKeyboardAction, Terraria.GameContent.UI.Elements.UIKeybindingSliderItem._sliderIDInPage, Terraria.GameContent.UI.Elements.UIKeybindingSliderItem._TextDisplayFunction, Microsoft.Xna.Framework.Graphics.Color, Terraria.GameContent.TextureAssets.ColorBar, Terraria.GameInput.PlayerInput.CurrentProfile, Terraria.UI.Chat.ChatManager.DrawColorCodedStringWithShadow(), Terraria.Utils.DrawSettingsPanel(), Terraria.IngameOptions.DrawValueBar(), Terraria.UI.UIElement.GetDimensions(), Terraria.IngameOptions.inBar, Terraria.GameContent.FontAssets.ItemStack, Microsoft.Xna.Framework.Color.Lerp(), Terraria.Main.mouseLeft, System.obj, Terraria.IngameOptions.rightHover, Terraria.IngameOptions.rightLock, Microsoft.Xna.Framework.Color.Silver, Terraria.GameInput.PlayerInput.Triggers, Terraria.GameInput.PlayerInput.UsingGamepad, System.value, Microsoft.Xna.Framework.Graphics.Vector2, Microsoft.Xna.Framework.Color.White, Terraria.UI.CalculatedStyle.Width, Terraria.UI.CalculatedStyle.X, Terraria.UI.CalculatedStyle.Y, and Microsoft.Xna.Framework.Vector2.Zero.