コード例 #1
0
ファイル: DialogSystem.cs プロジェクト: mrZmitser/CatFish
 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));
 }
コード例 #2
0
    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;
        }
    }