private void Start() { rpgtalk = GetComponent <RPGTalk>(); timeline = GetComponent <RPGTalkTimeline>(); rpgtalk.OnNewTalk += OnTalkStart; rpgtalk.OnEndTalk += OnTalkFinish; }
public override void OnBehaviourPlay(Playable playable, FrameData info) { if (!m_TrackBinding) { return; } if (!m_FirstFrameHappened) { //on the firs frame, set the defaults to recover after m_txtToParse = m_TrackBinding.txtToParse; m_lineToBreak = m_TrackBinding.lineToBreak; m_lineToStart = m_TrackBinding.lineToStart; m_textSpeed = m_TrackBinding.textSpeed; m_enableQuickSkip = m_TrackBinding.enableQuickSkip; m_enablePass = m_TrackBinding.enablePass; //change the rpgTalk parameters if (txtToParse != null) { m_TrackBinding.txtToParse = txtToParse; } //If we won't wait for player action to finish, only one line (line to start) will be allowed. if (!pauseUntilTalkEnd) { m_TrackBinding.lineToBreak = lineToStart; m_TrackBinding.enablePass = false; } else { m_TrackBinding.enablePass = true; m_TrackBinding.lineToBreak = lineToBreak; } m_TrackBinding.lineToStart = lineToStart; m_TrackBinding.textSpeed = textSpeed; m_TrackBinding.enableQuickSkip = false; m_FirstFrameHappened = true; m_TrackBinding.NewTalk(); //Put an event for the end of the talk m_TrackBinding.OnEndTalk += OnEndTalk; if (m_TrackBinding.GetComponent <RPGTalkTimeline> ()) { rpgTime = m_TrackBinding.GetComponent <RPGTalkTimeline> (); } } }
void ReturnDefaults() { m_TrackBinding.txtToParse = m_txtToParse; m_TrackBinding.lineToBreak = m_lineToBreak; m_TrackBinding.lineToStart = m_lineToStart; m_TrackBinding.textSpeed = m_textSpeed; m_TrackBinding.enableQuickSkip = m_enableQuickSkip; m_TrackBinding.enablePass = m_enablePass; m_FirstFrameHappened = false; m_TrackBinding.EndTalk(); m_TrackBinding.OnEndTalk -= OnEndTalk; rpgTime = null; }
public override void OnBehaviourPlay(Playable playable, FrameData info) { if (!m_TrackBinding) { return; } if (!m_FirstFrameHappened) { //on the first frame, set the defaults to recover after m_txtToParse = m_TrackBinding.txtToParse; m_lineToBreak = m_TrackBinding.lineToBreak; m_lineToStart = m_TrackBinding.lineToStart; m_textSpeed = m_TrackBinding.textSpeed; m_enableQuickSkip = m_TrackBinding.enableQuickSkip; m_enablePass = m_TrackBinding.enablePass; //change the rpgTalk parameters if (txtToParse != null) { m_TrackBinding.txtToParse = txtToParse; } //If we won't wait for player action to finish, only one line (line to start) will be allowed. if (!pauseUntilTalkEnd) { //If we didn't set neither pauseUntilTalkEnd or autoPass, then we can't have lineToBreak. if (!autoPass) { m_TrackBinding.lineToBreak = lineToStart; } else { m_TrackBinding.lineToBreak = lineToBreak; } m_TrackBinding.enablePass = false; } else { m_TrackBinding.enablePass = true; m_TrackBinding.lineToBreak = lineToBreak; } m_TrackBinding.lineToStart = lineToStart; m_TrackBinding.textSpeed = textSpeed; m_TrackBinding.enableQuickSkip = false; m_FirstFrameHappened = true; m_TrackBinding.NewTalk(); startTime = new double[m_TrackBinding.rpgtalkElements.Count]; for (int i = 0; i < m_TrackBinding.rpgtalkElements.Count; i++) { if (i == 0) { startTime[i] = 0; } else { startTime[i] = (m_TrackBinding.rpgtalkElements[i - 1].dialogText.Length / m_TrackBinding.actualTextSpeed) + secondsAutoPass; } } //Put an event for the end of the talk m_TrackBinding.OnEndTalk += OnEndTalk; if (m_TrackBinding.GetComponent <RPGTalkTimeline> ()) { rpgTime = m_TrackBinding.GetComponent <RPGTalkTimeline> (); } // playableObj = playable; } }