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

◆ DrawSelf()

override void Terraria.GameContent.UI.States.UIVirtualKeyboard.DrawSelf ( SpriteBatch spriteBatch)
inlineprotectedvirtual

Reimplemented from Terraria.UI.UIElement.

Definition at line 684 of file UIVirtualKeyboard.cs.

685 {
686 if (Main.gameMenu)
687 {
688 if (ShouldShowKeyboard())
689 {
691 if (!Elements.Contains(outerLayer1))
692 {
694 }
697 Recalculate();
699 if (_labelHeight != 0f)
700 {
701 _textBox.Top.Pixels = _textBoxHeight;
702 _label.Top.Pixels = _labelHeight;
706 UserInterface.ActiveInstance.ResetLasts();
707 }
708 }
709 else
710 {
712 if (!Elements.Contains(outerLayer2))
713 {
715 }
718 Recalculate();
720 if (_textBoxHeight == 0f)
721 {
722 _textBoxHeight = _textBox.Top.Pixels;
724 _textBox.Top.Pixels += 50f;
725 _label.Top.Pixels += 50f;
728 UserInterface.ActiveInstance.ResetLasts();
729 }
730 }
731 }
732 if (!Main.editSign && _edittingSign)
733 {
735 return;
736 }
737 if (!Main.editChest && _edittingChest)
738 {
740 return;
741 }
742 base.DrawSelf(spriteBatch);
744 OffsetDown = 0;
745 ShouldHideText = false;
746 SetupGamepadPoints(spriteBatch);
747 PlayerInput.WritingText = true;
748 Main.instance.HandleIME();
749 Vector2 position = new Vector2(Main.screenWidth / 2, _textBox.GetDimensions().ToRectangle().Bottom + 32);
750 Main.instance.DrawWindowsIMEPanel(position, 0.5f);
751 string text = Main.GetInputText(Text, _edittingSign);
752 if (_edittingSign && Main.inputTextEnter)
753 {
754 text += "\n";
755 }
756 else
757 {
758 if (_edittingChest && Main.inputTextEnter)
759 {
760 ChestUI.RenameChestSubmit(Main.player[Main.myPlayer]);
762 return;
763 }
764 if (Main.inputTextEnter && CanSubmit)
765 {
766 Submit();
767 }
768 else if (_edittingChest && Main.player[Main.myPlayer].chest < 0)
769 {
771 }
772 else if (Main.inputTextEscape && TryEscapingMenu())
773 {
774 return;
775 }
776 }
778 {
779 if (text != Text)
780 {
782 {
783 Text = text;
784 }
785 else
786 {
788 }
789 }
790 if (_edittingSign)
791 {
793 }
794 if (_edittingChest)
795 {
797 }
798 }
799 byte b = (byte)((255 + Main.tileColor.R * 2) / 3);
800 Color value = new Color(b, b, b, 255);
801 _textBox.TextColor = Color.Lerp(Color.White, value, 0.2f);
802 _label.TextColor = Color.Lerp(Color.White, value, 0.2f);
803 position = new Vector2(Main.screenWidth / 2, _textBox.GetDimensions().ToRectangle().Bottom + 32);
804 Main.instance.DrawWindowsIMEPanel(position, 0.5f);
805 }
static void PlaySound(int type, Vector2 position, int style=1)
static void RenameChestCancel()
Definition ChestUI.cs:933
static void RenameChestSubmit(Player player)
Definition ChestUI.cs:910
static bool CanShowVirtualKeyboard(int context)
void Append(UIElement element)
Definition UIElement.cs:166
virtual void RecalculateChildren()
Definition UIElement.cs:369
virtual void Recalculate()
Definition UIElement.cs:281
StyleDimension Top
Definition UIElement.cs:23
static UserInterface ActiveInstance
static Color Lerp(Color value1, Color value2, float amount)
Definition Color.cs:491

References Terraria.GameContent.UI.States.UIVirtualKeyboard._edittingChest, Terraria.GameContent.UI.States.UIVirtualKeyboard._edittingSign, Terraria.GameContent.UI.States.UIVirtualKeyboard._keyboardContext, Terraria.GameContent.UI.States.UIVirtualKeyboard._label, Terraria.GameContent.UI.States.UIVirtualKeyboard._labelHeight, Terraria.GameContent.UI.States.UIVirtualKeyboard._textBox, Terraria.GameContent.UI.States.UIVirtualKeyboard._textBoxHeight, Terraria.UI.UIElement.Activate(), Terraria.UI.UserInterface.ActiveInstance, Terraria.UI.UIElement.Append(), Terraria.UI.IngameFancyUI.CanShowVirtualKeyboard(), Terraria.GameContent.UI.States.UIVirtualKeyboard.CanSubmit, Terraria.UI.IngameFancyUI.Close(), Microsoft.Xna.Framework.Graphics.Color, Terraria.GameContent.UI.States.UIVirtualKeyboard.CopyTextToChest(), Terraria.GameContent.UI.States.UIVirtualKeyboard.CopyTextToSign(), Terraria.GameContent.UI.States.UIVirtualKeyboard.CustomTextValidationForUpdate, Terraria.UI.UIElement.Deactivate(), Terraria.Main.editChest, Terraria.Main.editSign, Terraria.Main.gameMenu, Terraria.Main.GetInputText(), Terraria.Main.inputTextEnter, Terraria.Main.inputTextEscape, Terraria.Main.instance, Microsoft.Xna.Framework.Color.Lerp(), Terraria.Main.myPlayer, Terraria.GameContent.UI.States.UIVirtualKeyboard.OffsetDown, Terraria.GameContent.UI.States.UIVirtualKeyboard.outerLayer1, Terraria.GameContent.UI.States.UIVirtualKeyboard.outerLayer2, Terraria.UI.StyleDimension.Pixels, Terraria.Main.player, Terraria.Audio.SoundEngine.PlaySound(), Terraria.GameContent.UI.Elements.UIText.Recalculate(), Terraria.GameContent.UI.Elements.UITextPanel< T >.Recalculate(), Terraria.UI.UIElement.Recalculate(), Terraria.UI.UIElement.RecalculateChildren(), Terraria.UI.UIElement.Remove(), Terraria.UI.ChestUI.RenameChestCancel(), Terraria.UI.ChestUI.RenameChestSubmit(), Terraria.Main.screenWidth, Terraria.GameContent.UI.States.UIVirtualKeyboard.SetupGamepadPoints(), Terraria.GameContent.UI.States.UIVirtualKeyboard.ShouldHideText, Terraria.GameContent.UI.States.UIVirtualKeyboard.ShouldShowKeyboard(), Terraria.GameContent.UI.States.UIVirtualKeyboard.Submit(), System.text, Terraria.Main.tileColor, Terraria.UI.UIElement.Top, Terraria.GameContent.UI.States.UIVirtualKeyboard.TryEscapingMenu(), Terraria.GameContent.UI.States.UIVirtualKeyboard.UpdateOffsetDown(), System.value, Microsoft.Xna.Framework.Graphics.Vector2, and Microsoft.Xna.Framework.Color.White.