protected override bool ExecCommand(StoryInstance instance, long delta) { Scene scene = instance.Context as Scene; if (null != scene) { string _msg = m_Msg.Value; Msg_CRC_StoryMessage msg = new Msg_CRC_StoryMessage(); msg.m_MsgId = _msg; for (int i = 0; i < m_Args.Count; ++i) { IStoryValue<object> val = m_Args[i]; object v = val.Value; if (null == v) { Msg_CRC_StoryMessage.MessageArg arg = new Msg_CRC_StoryMessage.MessageArg(); arg.val_type = ArgType.NULL; arg.str_val = ""; msg.m_Args.Add(arg); } else if (v is int) { Msg_CRC_StoryMessage.MessageArg arg = new Msg_CRC_StoryMessage.MessageArg(); arg.val_type = ArgType.INT; arg.str_val = ((int)v).ToString(); msg.m_Args.Add(arg); } else if (v is float) { Msg_CRC_StoryMessage.MessageArg arg = new Msg_CRC_StoryMessage.MessageArg(); arg.val_type = ArgType.FLOAT; arg.str_val = ((float)v).ToString(); msg.m_Args.Add(arg); } else { Msg_CRC_StoryMessage.MessageArg arg = new Msg_CRC_StoryMessage.MessageArg(); arg.val_type = ArgType.STRING; arg.str_val = v.ToString(); msg.m_Args.Add(arg); } } if (m_HaveUserId) { int userId = m_UserId.Value; EntityInfo user = scene.GetEntityById(userId); if (null != user) { User us = user.CustomData as User; if (null != us) { us.SendMessage(RoomMessageDefine.Msg_CRC_StoryMessage, msg); } } } else { scene.NotifyAllUser(RoomMessageDefine.Msg_CRC_StoryMessage, msg); } } return false; }
protected override bool ExecCommand(StoryInstance instance, long delta) { string _msg = m_Msg.Value; Msg_CRC_StoryMessage msg = new Msg_CRC_StoryMessage(); msg.m_MsgId = _msg; for (int i = 0; i < m_Args.Count; ++i) { IStoryValue<object> val = m_Args[i]; object v = val.Value; if (null == v) { Msg_CRC_StoryMessage.MessageArg arg = new Msg_CRC_StoryMessage.MessageArg(); arg.val_type = ArgType.NULL; arg.str_val = ""; msg.m_Args.Add(arg); } else if (v is int) { Msg_CRC_StoryMessage.MessageArg arg = new Msg_CRC_StoryMessage.MessageArg(); arg.val_type = ArgType.INT; arg.str_val = ((int)v).ToString(); msg.m_Args.Add(arg); } else if (v is float) { Msg_CRC_StoryMessage.MessageArg arg = new Msg_CRC_StoryMessage.MessageArg(); arg.val_type = ArgType.FLOAT; arg.str_val = ((float)v).ToString(); msg.m_Args.Add(arg); } else { Msg_CRC_StoryMessage.MessageArg arg = new Msg_CRC_StoryMessage.MessageArg(); arg.val_type = ArgType.STRING; arg.str_val = v.ToString(); msg.m_Args.Add(arg); } } Network.NetworkSystem.Instance.SendMessage(RoomMessageDefine.Msg_CRC_StoryMessage, msg); return false; }