| | 1 | | using TMPro; |
| | 2 | | using UnityEngine; |
| | 3 | | using UnityEngine.UI; |
| | 4 | |
|
| | 5 | | public class ECSInteractionHoverTooltipMonoBehavior : MonoBehaviour, ITooltip |
| | 6 | | { |
| | 7 | | [SerializeField] internal Image _icon; |
| | 8 | | [SerializeField] internal TextMeshProUGUI _text; |
| | 9 | | [SerializeField] internal TextMeshProUGUI _inputText; |
| | 10 | | [SerializeField] internal GameObject _iconGameObject; |
| | 11 | | [SerializeField] internal GameObject _inputTextGameObject; |
| | 12 | |
|
| | 13 | | public void SetText(string text) |
| | 14 | | { |
| | 15 | | const int MAX_CHARACTERS = 25; |
| 2 | 16 | | _text.text = (text.Length <= MAX_CHARACTERS) ? text : text.Substring(0, MAX_CHARACTERS); |
| 2 | 17 | | } |
| | 18 | |
|
| | 19 | | public void SetInputText(string text) |
| | 20 | | { |
| 12 | 21 | | _inputText.text = text; |
| 12 | 22 | | _inputTextGameObject.SetActive(true); |
| 12 | 23 | | _iconGameObject.SetActive(false); |
| 12 | 24 | | } |
| | 25 | |
|
| | 26 | | public void SetInputIcon(Sprite sprite) |
| | 27 | | { |
| 2 | 28 | | _icon.sprite = sprite; |
| 2 | 29 | | _inputTextGameObject.SetActive(false); |
| 2 | 30 | | _iconGameObject.SetActive(true); |
| 2 | 31 | | } |
| | 32 | |
|
| | 33 | | public void SetActive(bool active) |
| | 34 | | { |
| 2 | 35 | | gameObject.SetActive(active); |
| 2 | 36 | | } |
| | 37 | | } |