Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
TooltipManager Class Reference
Inheritance diagram for TooltipManager:

Public Member Functions

void ResetTooltips ()
 
void ShowTooltip (TooltipData data, Transform target)
 
void HideTooltips (bool immediate=false)
 

Public Attributes

UITooltip[] tooltips
 
string disableHide
 
float disableTimer
 

Static Public Attributes

static TooltipManager Instance
 

Private Member Functions

void Awake ()
 
void Update ()
 

Detailed Description

Definition at line 3 of file TooltipManager.cs.

Member Function Documentation

◆ Awake()

void TooltipManager.Awake ( )
inlineprivate

Definition at line 13 of file TooltipManager.cs.

14 {
15 Instance = this;
16 }
static TooltipManager Instance

References Instance.

◆ HideTooltips()

void TooltipManager.HideTooltips ( bool  immediate = false)
inline

Definition at line 89 of file TooltipManager.cs.

90 {
91 UITooltip[] array = tooltips;
92 foreach (UITooltip uITooltip in array)
93 {
94 if (immediate)
95 {
96 uITooltip.cg.alpha = 0f;
97 uITooltip.data = null;
98 uITooltip.SetActive(enable: false);
99 continue;
100 }
101 float timer = 0f;
102 uITooltip.hideFunc = delegate
103 {
104 timer += Time.smoothDeltaTime;
105 return timer > 0.2f;
106 };
107 }
108 }
UITooltip[] tooltips

References tooltips.

Referenced by UIDynamicList.List(), UICharaMaker.ListJob(), UICharaMaker.ListRace(), Game.Load(), LayerInfo.OnAfterInit(), LayerList.OnKill(), UIContextMenu.Show(), UI.StartDrag(), and UIButton.TryShowTip< T >().

◆ ResetTooltips()

void TooltipManager.ResetTooltips ( )
inline

Definition at line 18 of file TooltipManager.cs.

19 {
20 UITooltip[] array = tooltips;
21 for (int i = 0; i < array.Length; i++)
22 {
23 array[i].data = null;
24 }
25 }
TooltipData data
Definition: UITooltip.cs:15

References UITooltip.data, and tooltips.

Referenced by DropdownGrid.TrySelect().

◆ ShowTooltip()

void TooltipManager.ShowTooltip ( TooltipData  data,
Transform  target 
)
inline

Definition at line 27 of file TooltipManager.cs.

28 {
29 if (disableTimer > 0f)
30 {
31 return;
32 }
33 if ((bool)UIContextMenu.Current)
34 {
35 UIButton componentOf = InputModuleEX.GetComponentOf<UIButton>();
36 if (!componentOf || !componentOf.transform.GetComponentInParent<UIContextMenu>())
37 {
38 return;
39 }
40 }
41 UITooltip uITooltip = tooltips[0];
42 UITooltip[] array = tooltips;
43 foreach (UITooltip uITooltip2 in array)
44 {
45 if (uITooltip2.name == data.id)
46 {
47 uITooltip = uITooltip2;
48 }
49 }
50 uITooltip.SetActive(enable: true);
51 uITooltip.SetData(data);
52 if (uITooltip.cg.alpha < 0.1f)
53 {
54 uITooltip.cg.alpha = 1f;
55 }
56 float timer = 0f;
57 uITooltip.hideFunc = delegate
58 {
59 if (target == null || !InputModuleEX.IsPointerOver(target))
60 {
61 timer += Time.smoothDeltaTime;
62 return timer > 0.2f;
63 }
64 timer = 0f;
65 return false;
66 };
67 if (uITooltip.followType == UITooltip.FollowType.None)
68 {
69 return;
70 }
71 Vector3 vector = ((uITooltip.followType == UITooltip.FollowType.Mouse) ? EInput.uiMousePosition : target.position);
72 if (uITooltip.followType == UITooltip.FollowType.Pivot)
73 {
74 GameObject gameObject = target.FindTagInParents("PivotTooltip", includeInactive: false);
75 if ((bool)gameObject)
76 {
77 uITooltip.Rect().pivot = gameObject.transform.Rect().pivot;
78 vector = gameObject.transform.position;
79 }
80 else
81 {
82 uITooltip.Rect().pivot = uITooltip.orgPivot;
83 }
84 }
85 uITooltip.transform.position = vector + data.offset + uITooltip.offset;
86 Util.ClampToScreen(uITooltip.Rect(), 50);
87 }
Definition: EInput.cs:8
static Vector3 uiMousePosition
Definition: EInput.cs:369
static bool IsPointerOver(Component c)
string id
Definition: TooltipData.cs:13
static UIContextMenu Current
CanvasGroup cg
Definition: UITooltip.cs:41
Vector3 offset
Definition: UITooltip.cs:29
void SetData(TooltipData _data)
Definition: UITooltip.cs:52
Vector2 orgPivot
Definition: UITooltip.cs:39
FollowType followType
Definition: UITooltip.cs:31
Definition: Util.cs:10
static void ClampToScreen(RectTransform rect, int margin=0)
Definition: Util.cs:110

References UIContextMenu.Current, disableTimer, InputModuleEX.IsPointerOver(), UITooltip.SetData(), tooltips, EInput.uiMousePosition, and Util.

Referenced by HintIcon.ShowTooltip(), UIButton.ShowTooltip(), and UIButton.ShowTooltipForced().

◆ Update()

void TooltipManager.Update ( )
inlineprivate

Definition at line 110 of file TooltipManager.cs.

111 {
112 if (disableTimer > 0f)
113 {
114 disableTimer -= Time.deltaTime;
115 }
116 UITooltip[] array = tooltips;
117 foreach (UITooltip uITooltip in array)
118 {
119 if (!(uITooltip.name == disableHide) && uITooltip.gameObject.activeSelf)
120 {
121 if (uITooltip.hideFunc())
122 {
123 uITooltip.cg.alpha -= Time.smoothDeltaTime * 5f;
124 }
125 else
126 {
127 uITooltip.cg.alpha += Time.smoothDeltaTime * 5f;
128 }
129 if (uITooltip.cg.alpha <= 0f)
130 {
131 uITooltip.data = null;
132 uITooltip.SetActive(enable: false);
133 }
134 }
135 }
136 }
string disableHide
Func< bool > hideFunc
Definition: UITooltip.cs:43

References UITooltip.cg, disableHide, disableTimer, UITooltip.hideFunc, and tooltips.

Member Data Documentation

◆ disableHide

string TooltipManager.disableHide

Definition at line 9 of file TooltipManager.cs.

Referenced by Update().

◆ disableTimer

float TooltipManager.disableTimer

Definition at line 11 of file TooltipManager.cs.

Referenced by ShowTooltip(), and Update().

◆ Instance

◆ tooltips

UITooltip [] TooltipManager.tooltips

Definition at line 7 of file TooltipManager.cs.

Referenced by HideTooltips(), ResetTooltips(), ShowTooltip(), and Update().


The documentation for this class was generated from the following file: