Page 2 of 2

Re: custom ResponseTimeoutAction toward a hidden menu text

Posted: Thu Jun 11, 2020 11:29 am
by Tony Li
Hi,

I didn't reproduce the issue in a new project.

The only thing I can think of is the SetTimeout() sequencer command. Do you have any dialogue entry nodes or Dialogue System Triggers that use this sequencer command?

Re: custom ResponseTimeoutAction toward a hidden menu text

Posted: Fri Jun 12, 2020 12:39 am
by joeylu
Hi Tony, while you were replying, I had edit my previous reply, I found the error exactly like you have mentioned, it was the SetTimeout override the global timeout. I also raised my concern about this behavior
joeylu wrote: Thu Jun 11, 2020 11:13 am ok, found the error, somehow in one dialogue entry, from the very beginning of the conversation, I put the SetTimeout(3) in the sequence. it actually overrides the global response timeout duration.
Maybe it's just me but I thought the dialogue entry sequence settings will only affect its own dialogue entry, not to overwrite the global. Otherwise, after setup a custom timeout, I have to reset it back the global value, this makes the "response timeout" setting in dialogue controller very usable. Or am I doing anything wrong, lol

Re: custom ResponseTimeoutAction toward a hidden menu text

Posted: Fri Jun 12, 2020 7:00 am
by Tony Li
Thanks for pointing that out. I'll make it clearer in the manual that it sets the global timeout value. The intent is that it allows you to turn off timeouts for an entire section of a conversation (or even the rest of the game if you want to do that), not just the next response menu.

Re: custom ResponseTimeoutAction toward a hidden menu text

Posted: Fri Jun 12, 2020 11:25 am
by joeylu
np Tony, as long as I understand the logic, I can live with that. Again, tks for the great support

Re: custom ResponseTimeoutAction toward a hidden menu text

Posted: Wed Mar 22, 2023 12:06 pm
by brian_nielsen
Really loved this. It helped me a lot.

Just for anyone that would like it I used the logic to make a Response based version. I have a few events that fire when a response is selected so I did the following:

Code: Select all

 public class ChooseDefaultOnResponseTimeout : MonoBehaviour
    {
        private List<Response> _currentResponses = new List<Response>();       

        void OnConversationResponseMenu(Response[] responses)
        {
            _currentResponses.Clear();
            _currentResponses = responses.ToList();
        }

        void OnConversationTimeout()
        {
            //code from here: https://www.pixelcrushers.com/phpbb/viewtopic.php?t=3885        

            foreach(var response in _currentResponses)
            {
                if(response.destinationEntry.Title == "OnTimeout")
                {
                    DialogueManager.conversationController.SetCurrentResponse(response);
                    DialogueManager.conversationController.GotoCurrentResponse();
                }
            }
            
        }
    }

Re: custom ResponseTimeoutAction toward a hidden menu text

Posted: Wed Mar 22, 2023 7:26 pm
by Tony Li
Thanks for sharing!