Skip to content

Commit 09441b0

Browse files
committed
Fix TextMeshPro warnings
1 parent 0a42f9c commit 09441b0

2 files changed

Lines changed: 38 additions & 10 deletions

File tree

Assets/QA/Tests/Core Platform Menu/ReturnToMenuOverlay.cs

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public class ReturnToMenuOverlay : MonoBehaviour
2828
InputAction m_BackAction;
2929
GameObject m_ConfirmPanel;
3030
GameObject m_ReturnButton;
31+
Button m_DimmerButton;
3132
RectTransform m_MenuButtonRect;
3233
bool m_PanelVisible;
3334
float m_LastToggleTime;
@@ -153,10 +154,36 @@ void SetPanelVisible(bool visible)
153154
if (m_ConfirmPanel != null)
154155
m_ConfirmPanel.SetActive(visible);
155156

156-
if (visible && m_ReturnButton != null)
157-
StartCoroutine(SelectNextFrame(m_ReturnButton));
158-
else if (!visible && EventSystem.current != null)
157+
if (visible)
158+
{
159+
// Disable dimmer clicks until the pointer that opened the panel is
160+
// released, otherwise the trailing PointerUp registers as a click on
161+
// the dimmer and immediately closes the panel.
162+
if (m_DimmerButton != null)
163+
{
164+
m_DimmerButton.interactable = false;
165+
StartCoroutine(EnableDimmerAfterRelease());
166+
}
167+
168+
if (m_ReturnButton != null)
169+
StartCoroutine(SelectNextFrame(m_ReturnButton));
170+
}
171+
else if (EventSystem.current != null)
172+
{
159173
EventSystem.current.SetSelectedGameObject(null);
174+
}
175+
}
176+
177+
IEnumerator EnableDimmerAfterRelease()
178+
{
179+
while ((Mouse.current != null && Mouse.current.leftButton.isPressed) ||
180+
(Touchscreen.current != null && Touchscreen.current.primaryTouch.press.isPressed))
181+
yield return null;
182+
183+
yield return null;
184+
185+
if (m_DimmerButton != null && m_PanelVisible)
186+
m_DimmerButton.interactable = true;
160187
}
161188

162189
IEnumerator SelectNextFrame(GameObject target)
@@ -210,7 +237,7 @@ void ActivateOwnEventSystem()
210237
return;
211238
}
212239

213-
var existing = FindObjectOfType<EventSystem>();
240+
var existing = FindAnyObjectByType<EventSystem>();
214241
if (existing != null && existing.GetComponent<InputSystemUIInputModule>() != null)
215242
return;
216243

@@ -304,7 +331,8 @@ void BuildConfirmPanel()
304331
dimmer.color = kOverlay;
305332
StretchRT(m_ConfirmPanel);
306333

307-
m_ConfirmPanel.AddComponent<Button>().onClick.AddListener(() => SetPanelVisible(false));
334+
m_DimmerButton = m_ConfirmPanel.AddComponent<Button>();
335+
m_DimmerButton.onClick.AddListener(() => SetPanelVisible(false));
308336

309337
// Center card
310338
var card = new GameObject("Card", typeof(RectTransform));

Assets/QA/Tests/Core Platform Menu/SceneMenu.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ static void SetupEventSystem()
151151
var activeScene = SceneManager.GetActiveScene();
152152
bool hasSceneES = false;
153153

154-
foreach (var es in FindObjectsOfType<EventSystem>())
154+
foreach (var es in FindObjectsByType<EventSystem>(FindObjectsSortMode.None))
155155
{
156156
if (es.gameObject.scene == activeScene)
157157
{
@@ -380,13 +380,13 @@ void BuildSearchBar(Transform parent)
380380
var ph = MakeText("Placeholder", textArea.transform, "Search scenes\u2026", 18,
381381
kTextSecondary, TextAlignmentOptions.MidlineLeft);
382382
ph.fontStyle = FontStyles.Italic;
383-
ph.enableWordWrapping = false;
383+
ph.textWrappingMode = TextWrappingModes.NoWrap;
384384
ph.overflowMode = TextOverflowModes.Ellipsis;
385385
Stretch(ph.gameObject);
386386

387387
var txt = MakeText("Text", textArea.transform, "", 18,
388388
kTextPrimary, TextAlignmentOptions.MidlineLeft);
389-
txt.enableWordWrapping = false;
389+
txt.textWrappingMode = TextWrappingModes.NoWrap;
390390
Stretch(txt.gameObject);
391391

392392
var input = bar.AddComponent<TMP_InputField>();
@@ -612,7 +612,7 @@ void BuildSceneButton(Transform parent, SceneEntry entry)
612612
var nameT = MakeText("Name", go.transform, entry.displayName, 15, kTextPrimary,
613613
TextAlignmentOptions.Center);
614614
nameT.overflowMode = TextOverflowModes.Ellipsis;
615-
nameT.enableWordWrapping = false;
615+
nameT.textWrappingMode = TextWrappingModes.NoWrap;
616616
var nr = Rect(nameT);
617617
nr.anchorMin = new Vector2(0.04f, 0.38f);
618618
nr.anchorMax = new Vector2(0.96f, 0.94f);
@@ -624,7 +624,7 @@ void BuildSceneButton(Transform parent, SceneEntry entry)
624624
var subT = MakeText("Sub", go.transform, entry.subcategory, 11, kTextSecondary,
625625
TextAlignmentOptions.Center);
626626
subT.overflowMode = TextOverflowModes.Ellipsis;
627-
subT.enableWordWrapping = false;
627+
subT.textWrappingMode = TextWrappingModes.NoWrap;
628628
var srr = Rect(subT);
629629
srr.anchorMin = new Vector2(0.04f, 0.06f);
630630
srr.anchorMax = new Vector2(0.96f, 0.38f);

0 commit comments

Comments
 (0)