You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.0 KiB
64 lines
1.0 KiB
using UnityEngine; |
|
using UnityEngine.UI; |
|
using System; |
|
using System.Collections; |
|
|
|
namespace Fungus.Script |
|
{ |
|
|
|
public class SayDialog : Dialog |
|
{ |
|
public Image continueImage; |
|
|
|
public void Say(string text, Action onComplete) |
|
{ |
|
Clear(); |
|
|
|
if (storyText != null) |
|
{ |
|
storyText.text = text; |
|
} |
|
|
|
Action onWritingComplete = delegate { |
|
ShowContinueImage(true); |
|
StartCoroutine(WaitForInput(delegate { |
|
Clear(); |
|
if (onComplete != null) |
|
{ |
|
onComplete(); |
|
} |
|
})); |
|
}; |
|
|
|
Action onExitTag = delegate { |
|
Clear(); |
|
if (onComplete != null) |
|
{ |
|
onComplete(); |
|
} |
|
}; |
|
|
|
StartCoroutine(WriteText(text, onWritingComplete, onExitTag)); |
|
} |
|
|
|
protected override void Clear() |
|
{ |
|
base.Clear(); |
|
ShowContinueImage(false); |
|
} |
|
|
|
protected override void OnWaitForInputTag(bool waiting) |
|
{ |
|
ShowContinueImage(waiting); |
|
} |
|
|
|
void ShowContinueImage(bool visible) |
|
{ |
|
if (continueImage != null) |
|
{ |
|
continueImage.enabled = visible; |
|
} |
|
} |
|
} |
|
|
|
}
|
|
|