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); }