Browse Source

Fixed Unresponsive SayDialog after ClearMenu or *.StopAllBlocks(); #518

master
Christopher 9 years ago
parent
commit
37fd23ad45
  1. 11
      Assets/Fungus/Narrative/Scripts/DialogInput.cs
  2. 15
      Assets/Fungus/Narrative/Scripts/MenuDialog.cs
  3. 3604
      Assets/Tests/Narrative/MenuTests.unity
  4. 8
      Assets/Tests/Narrative/MenuTests.unity.meta

11
Assets/Fungus/Narrative/Scripts/DialogInput.cs

@ -136,13 +136,12 @@ namespace Fungus
if (ignoreMenuClicks)
{
// Ignore input events if a Menu is being displayed
if (MenuDialog.activeMenuDialog != null)
if (MenuDialog.activeMenuDialog != null &&
MenuDialog.activeMenuDialog.gameObject.activeInHierarchy &&
MenuDialog.activeMenuDialog.DisplayedOptionsCount > 0)
{
if (MenuDialog.activeMenuDialog.gameObject.activeInHierarchy)
{
dialogClickedFlag = false;
nextLineInputFlag = false;
}
dialogClickedFlag = false;
nextLineInputFlag = false;
}
}

15
Assets/Fungus/Narrative/Scripts/MenuDialog.cs

@ -159,6 +159,21 @@ namespace Fungus
return addedOption;
}
public int DisplayedOptionsCount
{
get {
int count = 0;
foreach (Button button in cachedButtons)
{
if (button.gameObject.activeSelf)
{
count++;
}
}
return count;
}
}
public virtual void HideSayDialog()
{
SayDialog sayDialog = SayDialog.GetSayDialog();

3604
Assets/Tests/Narrative/MenuTests.unity

File diff suppressed because it is too large Load Diff

8
Assets/Tests/Narrative/MenuTests.unity.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c8ad0981f419e409684892f456f7a0ce
timeCreated: 1471362090
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
Loading…
Cancel
Save