private void SpeechesLoop() { if (index < speeches.Length && speeches[index] != null) { message.Show(speeches[index]); Debug.Log(speeches[index].Delay); Invoke("SpeechesLoop", speeches[index++].Delay); return; } isActive = false; message.Hide(); DialogEndedEvent?.Invoke(this, new DialogEventArgs(this.fileName)); }
public void Execute(DialogMessage parentMessage = null) { if (eventType == EventType.None) { Debug.LogWarning("No execution context given!", this); return; } if (parentMessage != null) { parentMessage.Hide(); } switch (eventType) { case EventType.Close: // Will be closed automatically break; case EventType.UnityEvent: if (unityEvent == null) { Debug.LogError("No UnityEvent given!", this); } else { unityEvent.Invoke(); } break; case EventType.DialogMessage: if (dialogMessage == null) { Debug.LogError("No dialogMessage given!", this); } else { dialogMessage.Show(); } break; } }