Exemple #1
0
        ////////////////////////////////////////////////////////////////////////


        /// <summary>
        /// Prints our the various commands with useful debugging info
        /// </summary>
        private void HandleEvent(ref IUpdateEvent ue)
        {
            interrupted = false;

            evtText  = ue.Text();
            evtType  = ue.Type();
            evtActor = ue.Actor();

            //evtText = "["+evtActor + "] " + evtText;

            ue.RemoveKeys(Meta.TEXT, Meta.TYPE, Meta.ACTOR);

            switch (evtType)
            {
            case "Say":
                evtText = evtText + " " + ue.Data().Stringify();
                break;

            case "Ask":
                DoPrompt(ue);
                SendRandomResponse(ue);
                break;

            case "Wait":
                var now = Util.Millis();

                Timers.SetTimeout(3000, () =>
                {
                    if (!interrupted)
                    {
                        Console.WriteLine("\n<resume-event#>" +
                                          " after " + Util.Millis(now) + "ms\n");

                        // send ResumeEvent after 5 sec
                        // (), (#Game), or ({type=a,stage=b,last=true})
                        gameEvent = new ResumeEvent();
                    }
                });

                evtText = ("(" + (evtType + " " +
                                  ue.Data().Stringify()).Trim() + ")");
                break;

            default:
                evtText = ("(" + evtType + ": " + (evtText + " "
                                                   + ue.Data().Stringify()).Trim() + ")");
                break;
            }

            Console.WriteLine(evtText);

            ue = null;  // dispose event
        }
Exemple #2
0
        private void HandleEvent(ref IUpdateEvent ue)
        {
            evtText  = ue.Text();
            evtType  = ue.Type();
            evtActor = ue.Actor();

            if (evtActor != null)
            {
                evtText = evtActor + ": " + evtText;
            }

            ue.RemoveKeys(Meta.TEXT, Meta.TYPE, Meta.ACTOR);

            switch (evtType)
            {
            case "Say":
                evtText = evtText + " " + ue.Data().Stringify();
                break;

            case "Ask":
                DoPrompt(ue);
                // respond with 'new ChoiceEvent(choiceIdx);'
                break;

            case "Wait":
                evtText = ("(" + (evtType + " " +
                                  ue.Data().Stringify()).Trim() + ")");
                break;

            default:
                evtText = ("(" + evtType + ": " + (evtText + " "
                                                   + ue.Data().Stringify()).Trim() + ")");
                break;
            }

            Display(evtText);

            if (evtType == "Ask")
            {
                // default is to reprompt on timeout
                int timeout = Util.ToMillis(ue.GetDouble(Meta.TIMEOUT));
                while (!DoResponse(timeout))
                {
                    Display(evtText);
                }
            }

            ue = null;  // dispose event
        }
Exemple #3
0
        private void HandleEvent(ref IUpdateEvent ue)
        {
            evtText  = ue.Text();
            evtType  = ue.Type();
            evtActor = ue.Actor();

            //evtText = "["+evtActor + "] " + evtText;

            ue.RemoveKeys(Meta.TEXT, Meta.TYPE, Meta.ACTOR);

            switch (evtType)
            {
            case "Say":
                evtText = evtText + " " + ue.Data().Stringify();
                break;

            case "Ask":
                DoPrompt(ue);
                // respond with 'new ChoiceEvent(choiceIdx);'
                break;

            case "Wait":
                evtText = ("(" + (evtType + " " +
                                  ue.Data().Stringify()).Trim() + ")");
                break;

            default:
                evtText = ("(" + evtType + ": " + (evtText + " "
                                                   + ue.Data().Stringify()).Trim() + ")");
                break;
            }

            Console.WriteLine(evtText);

            ue = null;  // dispose event
        }