private void Update() { for (int i = panelEntries.Count - 1; i >= 0; i--) { TextPanelEntry entry = panelEntries[i]; if (entry.target == null) { panelEntries.RemoveAt(i); } else { float refreshTime = Time.time - entry.refreshTime; if (refreshTime > 2f) { DestroyPanelEntry(entry); } else { entry.panel.SetAlpha(1f - refreshTime / fadeTime); UpdatePanelWorldPosition(entry.panel.rectTransform, entry.target); } } } if (Input.GetKeyDown(KeyCode.Escape)) { if (Time.timeScale == 1f) { Time.timeScale = 0f; pauseMenu.SetActive(true); } else { Time.timeScale = 1f; pauseMenu.SetActive(false); winScreen.SetActive(false); } } if (lastInteractMarkerFrame < Time.frameCount - 1) { if (interactMarker.gameObject.activeSelf) { interactMarker.gameObject.SetActive(false); } } else { if (!interactMarker.gameObject.activeSelf) { interactMarker.gameObject.SetActive(true); } } }
private void DestroyPanelEntry(TextPanelEntry entry) { Destroy(entry.panel.gameObject); panelEntries.Remove(entry); }