protected override bool ExecCommand(StoryInstance instance, StoryMessageHandler handler, long delta)
        {
            UserThread userThread = instance.Context as UserThread;

            if (null != userThread)
            {
                ulong     userGuid = m_UserGuid.Value;
                string    dictId   = m_DictId.Value;
                ArrayList arglist  = new ArrayList();
                for (int i = 0; i < m_DictArgs.Count; ++i)
                {
                    IStoryValue val = m_DictArgs[i];
                    arglist.Add(val.Value);
                }
                object[] args = arglist.ToArray();

                Msg_LC_HighlightPrompt builder = new Msg_LC_HighlightPrompt();
                builder.dict_id = dictId;
                foreach (object arg in args)
                {
                    builder.argument.Add(arg.ToString());
                }
                if (userGuid > 0)
                {
                    userThread.NotifyUser(userGuid, LobbyMessageDefine.Msg_LC_HighlightPrompt, builder);
                }
                else
                {
                    userThread.NotifyAllUser(LobbyMessageDefine.Msg_LC_HighlightPrompt, builder);
                }
            }
            return(false);
        }
        protected override bool ExecCommand(StoryInstance instance, StoryMessageHandler handler, long delta)
        {
            UserThread userThread = instance.Context as UserThread;

            if (null != userThread)
            {
                string evname = m_EventName.Value;
                string group  = m_Group.Value;

                Msg_LC_PublishEvent msg = new Msg_LC_PublishEvent();
                msg.group          = group;
                msg.ev_name        = evname;
                msg.is_logic_event = false;

                for (int i = 0; i < m_Args.Count; ++i)
                {
                    IStoryValue val = m_Args[i];
                    object      v   = val.Value;
                    if (null == v)
                    {
                        Msg_LC_PublishEvent.EventArg arg = new Msg_LC_PublishEvent.EventArg();
                        arg.val_type = LobbyArgType.NULL;
                        arg.str_val  = "";
                        msg.args.Add(arg);
                    }
                    else if (v is int)
                    {
                        Msg_LC_PublishEvent.EventArg arg = new Msg_LC_PublishEvent.EventArg();
                        arg.val_type = LobbyArgType.INT;
                        arg.str_val  = ((int)v).ToString();
                        msg.args.Add(arg);
                    }
                    else if (v is float)
                    {
                        Msg_LC_PublishEvent.EventArg arg = new Msg_LC_PublishEvent.EventArg();
                        arg.val_type = LobbyArgType.FLOAT;
                        arg.str_val  = ((float)v).ToString();
                        msg.args.Add(arg);
                    }
                    else
                    {
                        Msg_LC_PublishEvent.EventArg arg = new Msg_LC_PublishEvent.EventArg();
                        arg.val_type = LobbyArgType.STRING;
                        arg.str_val  = v.ToString();
                        msg.args.Add(arg);
                    }
                }
                if (m_HaveUserGuid)
                {
                    ulong userGuid = m_UserGuid.Value;
                    userThread.NotifyUser(userGuid, LobbyMessageDefine.Msg_LC_PublishEvent, msg);
                }
                else
                {
                    userThread.NotifyAllUser(LobbyMessageDefine.Msg_LC_PublishEvent, msg);
                }
            }
            return(false);
        }
        protected override bool ExecCommand(StoryInstance instance, StoryMessageHandler handler, long delta)
        {
            UserThread userThread = instance.Context as UserThread;

            if (null != userThread)
            {
                string objname = m_ObjTag.Value;
                string _msg    = m_Msg.Value;

                Msg_LC_SendGfxMessage msg = new Msg_LC_SendGfxMessage();
                msg.is_with_tag = true;
                msg.name        = objname;
                msg.msg         = _msg;

                for (int i = 0; i < m_Args.Count; ++i)
                {
                    IStoryValue val = m_Args[i];
                    object      v   = val.Value;
                    if (null == v)
                    {
                        Msg_LC_SendGfxMessage.EventArg arg = new Msg_LC_SendGfxMessage.EventArg();
                        arg.val_type = LobbyArgType.NULL;
                        arg.str_val  = "";
                        msg.args.Add(arg);
                    }
                    else if (v is int)
                    {
                        Msg_LC_SendGfxMessage.EventArg arg = new Msg_LC_SendGfxMessage.EventArg();
                        arg.val_type = LobbyArgType.INT;
                        arg.str_val  = ((int)v).ToString();
                        msg.args.Add(arg);
                    }
                    else if (v is float)
                    {
                        Msg_LC_SendGfxMessage.EventArg arg = new Msg_LC_SendGfxMessage.EventArg();
                        arg.val_type = LobbyArgType.FLOAT;
                        arg.str_val  = ((float)v).ToString();
                        msg.args.Add(arg);
                    }
                    else
                    {
                        Msg_LC_SendGfxMessage.EventArg arg = new Msg_LC_SendGfxMessage.EventArg();
                        arg.val_type = LobbyArgType.STRING;
                        arg.str_val  = v.ToString();
                        msg.args.Add(arg);
                    }
                }
                if (m_HaveUserGuid)
                {
                    ulong userGuid = m_UserGuid.Value;
                    userThread.NotifyUser(userGuid, LobbyMessageDefine.Msg_LC_SendGfxMessage, msg);
                }
                else
                {
                    userThread.NotifyAllUser(LobbyMessageDefine.Msg_LC_SendGfxMessage, msg);
                }
            }
            return(false);
        }