本文整理汇总了C#中OpenSim.Services.Interfaces.AvatarData.ToKeyValuePairs方法的典型用法代码示例。如果您正苦于以下问题:C# AvatarData.ToKeyValuePairs方法的具体用法?C# AvatarData.ToKeyValuePairs怎么用?C# AvatarData.ToKeyValuePairs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OpenSim.Services.Interfaces.AvatarData
的用法示例。
在下文中一共展示了AvatarData.ToKeyValuePairs方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetAvatar
public override bool SetAvatar(UUID userID, AvatarData avatar)
{
Dictionary<string, object> sendData = new Dictionary<string, object>();
//sendData["SCOPEID"] = scopeID.ToString();
sendData["VERSIONMIN"] = ProtocolVersions.ClientProtocolVersionMin.ToString();
sendData["VERSIONMAX"] = ProtocolVersions.ClientProtocolVersionMax.ToString();
sendData["METHOD"] = "setavatar";
sendData["UserID"] = userID.ToString();
Dictionary<string, object> structData = avatar.ToKeyValuePairs();
#if (!ISWIN)
foreach (KeyValuePair<string, object> kvp in structData)
{
if (kvp.Key != "Textures") sendData[kvp.Key] = kvp.Value.ToString();
}
#else
foreach (KeyValuePair<string, object> kvp in structData.Where(kvp => kvp.Key != "Textures"))
sendData[kvp.Key] = kvp.Value.ToString();
#endif
ResetAvatar(userID);
string reqString = WebUtils.BuildQueryString(sendData);
//MainConsole.Instance.DebugFormat("[AVATAR CONNECTOR]: queryString = {0}", reqString);
try
{
List<string> serverURIs =
m_registry.RequestModuleInterface<IConfigurationService>().FindValueOf("AvatarServerURI");
foreach (string mServerUri in serverURIs)
{
string reply = SynchronousRestFormsRequester.MakeRequest("POST", mServerUri, reqString);
if (reply != string.Empty)
{
Dictionary<string, object> replyData = WebUtils.ParseXmlResponse(reply);
if (replyData.ContainsKey("result"))
{
if (replyData["result"].ToString().ToLower() == "success")
return true;
}
else
MainConsole.Instance.DebugFormat("[AVATAR CONNECTOR]: SetAvatar reply data does not contain result field");
}
else
MainConsole.Instance.DebugFormat("[AVATAR CONNECTOR]: SetAvatar received empty reply");
}
}
catch (Exception e)
{
MainConsole.Instance.DebugFormat("[AVATAR CONNECTOR]: Exception when contacting avatar server: {0}", e.Message);
}
return false;
}
示例2: SetAvatar
public bool SetAvatar(UUID userID, AvatarData avatar)
{
Dictionary<string, object> sendData = new Dictionary<string, object>();
//sendData["SCOPEID"] = scopeID.ToString();
sendData["VERSIONMIN"] = ProtocolVersions.ClientProtocolVersionMin.ToString();
sendData["VERSIONMAX"] = ProtocolVersions.ClientProtocolVersionMax.ToString();
sendData["METHOD"] = "setavatar";
sendData["UserID"] = userID.ToString();
Dictionary<string, object> structData = avatar.ToKeyValuePairs();
foreach (KeyValuePair<string, object> kvp in structData)
sendData[kvp.Key] = kvp.Value.ToString();
string reqString = ServerUtils.BuildQueryString(sendData);
//m_log.DebugFormat("[AVATAR CONNECTOR]: queryString = {0}", reqString);
try
{
string reply = SynchronousRestFormsRequester.MakeRequest("POST",
m_ServerURI + "/avatar",
reqString);
if (reply != string.Empty)
{
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
if (replyData.ContainsKey("result"))
{
if (replyData["result"].ToString().ToLower() == "success")
return true;
else
return false;
}
else
m_log.DebugFormat("[AVATAR CONNECTOR]: SetAvatar reply data does not contain result field");
}
else
m_log.DebugFormat("[AVATAR CONNECTOR]: SetAvatar received empty reply");
}
catch (Exception e)
{
m_log.DebugFormat("[AVATAR CONNECTOR]: Exception when contacting avatar server: {0}", e.Message);
}
return false;
}