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) if (ignoreMenuClicks)
{ {
// Ignore input events if a Menu is being displayed // 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; 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() public virtual void HideSayDialog()
{ {
SayDialog sayDialog = SayDialog.GetSayDialog(); 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