Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
UiInputField.cs
Go to the documentation of this file.
1using System;
2using UnityEngine;
3using UnityEngine.EventSystems;
4using UnityEngine.UI;
5
6public class UiInputField : InputField
7{
8 public bool dontClearOnESC;
9
10 public Action onUpdate;
11
12 public Action onDisable;
13
14 [SerializeField]
16
17 public string stringEdit = "";
18
19 public event Action OnSubmitEvent = delegate
20 {
21 };
22
23 public event Action InputSelected = delegate
24 {
25 };
26
27 public event Action InputDeselected = delegate
28 {
29 };
30
31 protected override void Awake()
32 {
33 base.textComponent.font = SkinManager.Instance.fontSet.ui.source.font;
34 }
35
36 protected override void Start()
37 {
38 base.Start();
40 {
41 ManlySingleton<InputFieldsTabSwitcher>.Instance.RegisterInputField(this);
42 }
43 base.onEndEdit.AddListener(OnEndEdit);
44 base.onValueChanged.AddListener(OnValueChanged);
45 stringEdit = base.text;
46 }
47
48 private void Update()
49 {
50 onUpdate?.Invoke();
51 }
52
53 public void HideCaret()
54 {
55 m_CaretSelectPosition = 0;
56 }
57
58 protected override void OnDisable()
59 {
60 onDisable?.Invoke();
61 }
62
63 private void OnValueChanged(string s)
64 {
65 if (dontClearOnESC && !Input.GetKeyDown(KeyCode.Escape))
66 {
67 stringEdit = base.text;
68 }
69 }
70
71 private void OnEndEdit(string s)
72 {
73 if (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.KeypadEnter))
74 {
75 this.OnSubmitEvent();
76 }
77 Deselect();
78 if (dontClearOnESC && Input.GetKeyDown(KeyCode.Escape))
79 {
80 base.text = stringEdit;
81 }
82 }
83
84 private void Deselect()
85 {
86 if (!EventSystem.current.alreadySelecting)
87 {
88 EventSystem.current.SetSelectedGameObject(null);
89 }
90 DeactivateInputField();
91 }
92
93 public void Clear()
94 {
95 base.text = string.Empty;
96 }
97
98 public override void OnSelect(BaseEventData eventData)
99 {
100 base.OnSelect(eventData);
101 this.InputSelected();
102 }
103
104 public override void OnDeselect(BaseEventData eventData)
105 {
106 base.OnDeselect(eventData);
107 this.InputDeselected();
108 }
109}
Font font
Definition: FontSource.cs:9
static T?? Instance
FontSet fontSet
Definition: SkinManager.cs:74
static SkinManager Instance
Definition: SkinManager.cs:78
void Deselect()
Definition: UiInputField.cs:84
override void Awake()
Definition: UiInputField.cs:31
void HideCaret()
Definition: UiInputField.cs:53
override void OnDeselect(BaseEventData eventData)
override void OnDisable()
Definition: UiInputField.cs:58
Action InputDeselected
Definition: UiInputField.cs:27
Action OnSubmitEvent
Definition: UiInputField.cs:19
override void Start()
Definition: UiInputField.cs:36
Action onUpdate
Definition: UiInputField.cs:10
void OnValueChanged(string s)
Definition: UiInputField.cs:63
void Clear()
Definition: UiInputField.cs:93
override void OnSelect(BaseEventData eventData)
Definition: UiInputField.cs:98
void OnEndEdit(string s)
Definition: UiInputField.cs:71
bool dontClearOnESC
Definition: UiInputField.cs:8
Action InputSelected
Definition: UiInputField.cs:23
bool registerToTabSwitcher
Definition: UiInputField.cs:15
Action onDisable
Definition: UiInputField.cs:12
string stringEdit
Definition: UiInputField.cs:17
void Update()
Definition: UiInputField.cs:48