Forum rules - please read before posting.

Checking to see if an Action List had ended (with conversations in it)

edited February 2020 in Technical Q&A

Unity Ver: 2019.2.4f1
AC Ver: 1.70.1

Hello there!

I have an action list. In this action list is a lot of dialogue actions, AND some conversation actions.

I want to know when this action list has ended, and I can use .AreActionsRuning() to check however this will return false when the conversation options are on screen, which for me is a problem.

To get around this, I've setup a check which goes:

1) AreActionsRunning?
2) Is there a menu titled 'Conversation' open?

If false to both, great!

It's a bit long winded. I just wanted to know if there was a better way to know if an action list has truly ended, and not just 'temporarily' ended because of conversation options appearing.

Thanks!

Comments

  • ActionLists can typically be checked for this by hooking into the OnEndActionList custom event.

    This does get called when overriding a Conversation options. On the system level, the ActionList has ended - it's just that it's re-run from a given point once an option has been chosen.

    An additional check of the state of PlayerInput's activeConversation variable should be enough:

    private void OnEnable () { EventManager.OnEndActionList += OnEndActionList; }
    
    private void OnDisable () { EventManager.OnEndActionList -= OnEndActionList; }
    
    private void OnEndActionList (ActionList actionList, ActionListAsset actionListAsset, bool isSkipping)
    {
        if (actionList == GetComponent <ActionList>())
        {
            if (KickStarter.playerInput.activeConversation == null)
            {
                Debug.Log ("Ended!");
            }
        }
    }
    
  • Thanks Chris. I'll give that a go.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.