private void DM_ContinueDialogue(sDialogueStruct sDialogueData) { if (CoroutineHandler != null) { StopCoroutine(CoroutineHandler); } exitCoroutine = false; CoroutineHandler = StartCoroutine(ContinueDialogueAfterWait(sDialogueData, CheckContinueDialouge)); }
private void CheckContinueDialouge(sDialogueStruct dialogueData, int currentLine) { IncreaseDialogueLine(); if (CheckDialogueLength(dialogueData, currentLine)) { continueDialogueEvent(dialogueData); } else { TryEndDialogue(); } }
public void TryStartDialogue(sDialogueStruct sDialogueData) { if (sDialogueData.tTextToDisplay.Length > 0) { if (PlayerScriptEC.instance.playerState == ePlayerState.idle) { if (initiateDialogueEvent != null) { initiateDialogueEvent(sDialogueData); } else { Debug.LogError("couldnt start dialogue"); } } } }
private IEnumerator ContinueDialogueAfterWait(sDialogueStruct sDialogueData, Action <sDialogueStruct, int> onComplete) { float counter = 0; while (true) { if (exitCoroutine) { onComplete(sDialogueData, currentLineOfDialogue); break; } if (counter >= sDialogueData.fDialogueWaitTime) { onComplete(sDialogueData, currentLineOfDialogue); break; } counter += Time.deltaTime; yield return(null); } }
private void DM_StartDialogue(sDialogueStruct sDialogueData) { currentLineOfDialogue = 0; UpdateCurrentDialogueData(sDialogueData); continueDialogueEvent(sDialogueData); }
private void UpdateCurrentDialogueData(sDialogueStruct dialogueData) { currentDialogueData = dialogueData; }
private static bool CheckDialogueLength(sDialogueStruct dialogueData, int currentLine) { // - 1 beacuse we feed currentline directly into our textmanager. // (which matches the int to the index in sDialogueData array of strings) return(dialogueData.tTextToDisplay.Length - 1 > currentLine); }
private void SetText(sDialogueStruct sDialogueData) { textToUse.color = new Color(sDialogueData.tTextColor.r, sDialogueData.tTextColor.g, sDialogueData.tTextColor.b); textToUse.text = sDialogueData.tTextToDisplay[GetCurrentLine()]; }
private void ContinueDialogue(sDialogueStruct sDialogueData) { animator.SetTrigger("ContinueDialogue"); SetText(sDialogueData); }
private void ShowText(sDialogueStruct sDialogueData) { animator.SetTrigger("StartDialogue"); textParent.SetActive(true); }
protected void InitiateDialogue(sDialogueStruct sDialogueData) { DialogueManager.instance.TryStartDialogue(sDialogueData); }
private void SetPlayerInDialogue(sDialogueStruct sDialogueData) { playerState = ePlayerState.inDialogue; }