Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
 private void DestroyPanelEntry(TextPanelEntry entry)
 {
     Destroy(entry.panel.gameObject);
     panelEntries.Remove(entry);
 }