当前位置: 首页>>代码示例>>C#>>正文


C# GridInstantMessage.ToOSD方法代码示例

本文整理汇总了C#中GridInstantMessage.ToOSD方法的典型用法代码示例。如果您正苦于以下问题:C# GridInstantMessage.ToOSD方法的具体用法?C# GridInstantMessage.ToOSD怎么用?C# GridInstantMessage.ToOSD使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GridInstantMessage的用法示例。


在下文中一共展示了GridInstantMessage.ToOSD方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddOfflineMessage

 public void AddOfflineMessage(GridInstantMessage message)
 {
     foreach (string m_ServerURI in m_ServerURIs)
     {
         SimianUtils.AddGeneric(new UUID(message.toAgentID), "OfflineMessages", UUID.Random().ToString(), message.ToOSD(), m_ServerURI);
     }
 }
开发者ID:mugginsm,项目名称:Aurora-Sim,代码行数:7,代码来源:SimianOfflineMessagesConnector.cs

示例2: AddOfflineMessage

 public bool AddOfflineMessage(GridInstantMessage message)
 {
     foreach (string m_ServerURI in m_ServerURIs)
     {
         SimianUtils.AddGeneric(message.toAgentID, "OfflineMessages", UUID.Random().ToString(), message.ToOSD(),
                                m_ServerURI);
     }
     return true;
 }
开发者ID:savino1976,项目名称:Aurora-Sim,代码行数:9,代码来源:SimianOfflineMessagesConnector.cs

示例3: AddOfflineMessage

        public bool AddOfflineMessage(GridInstantMessage message)
        {
            object remoteValue = DoRemote(message);
            if (remoteValue != null || m_doRemoteOnly)
                return remoteValue == null ? false : (bool) remoteValue;

            if (m_maxOfflineMessages <= 0 ||
                GenericUtils.GetGenericCount(message.ToAgentID, "OfflineMessages", GD) < m_maxOfflineMessages)
            {
                GenericUtils.AddGeneric(message.ToAgentID, "OfflineMessages", UUID.Random().ToString(),
                                        message.ToOSD(), GD);
                return true;
            }
            return false;
        }
开发者ID:KSLcom,项目名称:Aurora-Sim,代码行数:15,代码来源:LocalOfflineMessagesConnector.cs

示例4: SendChatToSession

        public void SendChatToSession(UUID agentID, GridInstantMessage im)
        {
            if (m_doRemoteOnly)
            {
                DoRemoteCallPost(true, "InstantMessageServerURI", agentID, im);
                return;
            }

            Util.FireAndForget((o) =>
                                   {
                                       ChatSession session;
                                       ChatSessions.TryGetValue(im.SessionID, out session);
                                       if (session == null)
                                           return;

                                       if (agentID != UUID.Zero) //Not system
                                       {
                                           ChatSessionMember sender = FindMember(im.SessionID, agentID);
                                           if (sender.MuteText)
                                               return; //They have been admin muted, don't allow them to send anything
                                       }

                                       Dictionary<string, List<GridInstantMessage>> messagesToSend =
                                           new Dictionary<string, List<GridInstantMessage>>();
                                       foreach (ChatSessionMember member in session.Members)
                                       {
                                           if (member.HasBeenAdded)
                                           {
                                               im.ToAgentID = member.AvatarKey;
                                               im.BinaryBucket = Utils.StringToBytes(session.Name);
                                               im.RegionID = UUID.Zero;
                                               im.ParentEstateID = 0;
                                               im.Offline = 0;
                                               GridInstantMessage message = new GridInstantMessage();
                                               message.FromOSD(im.ToOSD());
                                               //im.timestamp = 0;
                                               string uri = FindRegionURI(member.AvatarKey);
                                               if (uri != "") //Check if they are online
                                               {
                                                   //Bulk send all of the instant messages to the same region, so that we don't send them one-by-one over and over
                                                   if (messagesToSend.ContainsKey(uri))
                                                       messagesToSend[uri].Add(message);
                                                   else
                                                       messagesToSend.Add(uri, new List<GridInstantMessage>() {message});
                                               }
                                           }
                                           else if (!member.RequestedRemoval)
                                               //If they're requested to leave, don't recontact them
                                           {
                                               UUID regionID = FindRegionID(member.AvatarKey);
                                               if (regionID != UUID.Zero)
                                               {
                                                   im.ToAgentID = member.AvatarKey;
                                                   m_eventQueueService.ChatterboxInvitation(
                                                       session.SessionID
                                                       , session.Name
                                                       , im.FromAgentID
                                                       , im.Message
                                                       , im.ToAgentID
                                                       , im.FromAgentName
                                                       , im.Dialog
                                                       , im.Timestamp
                                                       , im.Offline == 1
                                                       , (int) im.ParentEstateID
                                                       , im.Position
                                                       , 1
                                                       , im.SessionID
                                                       , false
                                                       , Utils.StringToBytes(session.Name)
                                                       , regionID
                                                       );
                                               }
                                           }
                                       }
                                       foreach (KeyValuePair<string, List<GridInstantMessage>> kvp in messagesToSend)
                                       {
                                           SendInstantMessages(kvp.Key, kvp.Value);
                                       }
                                   });
        }
开发者ID:samiam123,项目名称:sam2Aurora,代码行数:80,代码来源:InstantMessagingService.cs

示例5: ConvertGridInstantMessageToXMLRPC

 /// <summary>
 ///     Takes a GridInstantMessage and converts it into a Hashtable for XMLRPC
 /// </summary>
 /// <param name="msg">The GridInstantMessage object</param>
 /// <returns>Hashtable containing the XMLRPC request</returns>
 protected virtual Hashtable ConvertGridInstantMessageToXMLRPC(GridInstantMessage msg)
 {
     Hashtable gim = new Hashtable();
     gim["message"] = OSDParser.SerializeJsonString(msg.ToOSD());
     return gim;
 }
开发者ID:velus,项目名称:Async-Sim-Testing,代码行数:11,代码来源:MessageTransferModule.cs

示例6: AddOfflineMessage

        /// <summary>
        /// Adds a new offline message for the user.
        /// </summary>
        /// <param name="message"></param>
        public void AddOfflineMessage(GridInstantMessage message)
		{
            GenericUtils.AddGeneric(new UUID(message.toAgentID), "OfflineMessages", UUID.Random().ToString(), message.ToOSD(), GD);
		}
开发者ID:NickyPerian,项目名称:Aurora,代码行数:8,代码来源:LocalOfflineMessagesConnector.cs

示例7: AddOfflineMessage

 /// <summary>
 ///   Adds a new offline message for the user.
 /// </summary>
 /// <param name = "message"></param>
 public bool AddOfflineMessage(GridInstantMessage message)
 {
     if (message.fromGroup)
     {
         if (!m_saveGroupOfflineMessages)
             return false;
         if (m_maxGroupOfflineMessages <= 0 ||
             GenericUtils.GetGenericCount(message.toAgentID, "GroupOfflineMessages", GD) < m_maxOfflineMessages)
         {
             GenericUtils.AddGeneric(message.toAgentID, "GroupOfflineMessages", UUID.Random().ToString(),
                                     message.ToOSD(), GD);
             return true;
         }
     }
     else
     {
         if (m_maxOfflineMessages <= 0 ||
             GenericUtils.GetGenericCount(message.toAgentID, "OfflineMessages", GD) < m_maxOfflineMessages)
         {
             GenericUtils.AddGeneric(message.toAgentID, "OfflineMessages", UUID.Random().ToString(),
                                     message.ToOSD(), GD);
             return true;
         }
     }
     return false;
 }
开发者ID:savino1976,项目名称:Aurora-Sim,代码行数:30,代码来源:LocalOfflineMessagesConnector.cs

示例8: AddOfflineMessage

        public bool AddOfflineMessage(GridInstantMessage message)
        {
            OSDMap sendData = message.ToOSD();

            sendData["Method"] = "addofflinemessage";

            try
            {
                List<string> urls =
                    m_registry.RequestModuleInterface<IConfigurationService>().FindValueOf(
                        message.toAgentID.ToString(), "RemoteServerURI");
#if (!ISWIN)
                foreach (string url in urls)
                {
                    OSDMap result = WebUtils.PostToService(url + "osd", sendData, true, false);
                    return ((OSDMap) OSDParser.DeserializeJson(result["_RawResult"]))["Result"].AsBoolean();
                }
#else
                foreach (OSDMap result in urls.Select(url => WebUtils.PostToService(url + "osd", sendData, true, false)))
                {
                    return ((OSDMap) OSDParser.DeserializeJson(result["_RawResult"]))["Result"].AsBoolean();
                }
#endif
            }
            catch (Exception e)
            {
                MainConsole.Instance.DebugFormat("[AuroraRemoteOfflineMessagesConnector]: Exception when contacting server: {0}", e);
            }
            return false;
        }
开发者ID:savino1976,项目名称:Aurora-Sim,代码行数:30,代码来源:RemoteOfflineMessagesConnector.cs

示例9: AddOfflineMessage

        /// <summary>
        /// Adds a new offline message for the user.
        /// </summary>
        /// <param name="message"></param>
        public bool AddOfflineMessage(GridInstantMessage message)
		{
            if(GenericUtils.GetGenericCount(message.toAgentID, "OfflineMessages", GD) < m_maxOfflineMessages)
            {
                GenericUtils.AddGeneric(message.toAgentID, "OfflineMessages", UUID.Random().ToString(), message.ToOSD(), GD);
                return true;
            }
            return false;
		}
开发者ID:rknop,项目名称:Aurora-Sim,代码行数:13,代码来源:LocalOfflineMessagesConnector.cs


注:本文中的GridInstantMessage.ToOSD方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。