private IEnumerator StartTypingAfterDelay(StandardUISubtitlePanel panel) { yield return(new WaitForSeconds(DELAY)); panel.SetTypewriterSpeed(typeWriterSpeed); panel.GetTypewriter().Start(); typeWriterDelay = null; }
public override void Open() { conversationUIElements.defaultPCSubtitlePanel.gameObject.SetActive(false); conversationUIElements.defaultNPCSubtitlePanel.gameObject.SetActive(false); conversationUIElements.defaultMenuPanel.gameObject.SetActive(false); base.Open(); UpdateHeadset(); hasShownSubtitle = false; lastSpeakerId = -1; lastSubtitlePanel = null; lastMenuPanel = null; }
public override void ShowSubtitle(Subtitle subtitle) { conversationUIElements.defaultPCSubtitlePanel.portraitImage = playerImage; var panel = subtitle.speakerInfo.isNPC ? conversationUIElements.defaultNPCSubtitlePanel : conversationUIElements.defaultPCSubtitlePanel; var isSameSpeakerSamePanel = panel == lastSubtitlePanel && lastMenuPanel == null; if (hasShownSubtitle && !isSameSpeakerSamePanel) { typeWriterSpeed = panel.GetTypewriterSpeed(); panel.SetTypewriterSpeed(0); typeWriterDelay = StartCoroutine(StartTypingAfterDelay(panel)); } base.ShowSubtitle(subtitle); hasShownSubtitle = true; lastSpeakerId = subtitle.speakerInfo.id; lastSubtitlePanel = panel; lastMenuPanel = null; }
public override void ShowResponses(Subtitle subtitle, Response[] responses, float timeout) { scan = true; conversationUIElements.defaultMenuPanel.pcImage = playerImage; base.ShowResponses(subtitle, responses, timeout); UpdateHeadset(); if (lastSubtitlePanel) { lastSubtitlePanel.Close(); } lastSpeakerId = -1; lastSubtitlePanel = null; lastMenuPanel = conversationUIElements.defaultMenuPanel; currentButtons = lastMenuPanel.instantiatedButtons.Select(b => b.GetComponent <HeartRhythmResponseButton>().fillingButton).ToList(); foreach (var responseButton in currentButtons) { responseButton.ResetFill(); responseButton.Deselect(); } responseRect.verticalNormalizedPosition = 1; }