本文整理汇总了C#中LLAgent.UpdateHeight方法的典型用法代码示例。如果您正苦于以下问题:C# LLAgent.UpdateHeight方法的具体用法?C# LLAgent.UpdateHeight怎么用?C# LLAgent.UpdateHeight使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LLAgent
的用法示例。
在下文中一共展示了LLAgent.UpdateHeight方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AgentSetAppearanceHandler
private void AgentSetAppearanceHandler(Packet packet, LLAgent agent)
{
AgentSetAppearancePacket set = (AgentSetAppearancePacket)packet;
UpdateFlags updateFlags = 0;
LLUpdateFlags llUpdateFlags = 0;
m_log.Debug("Updating avatar appearance with " + set.VisualParam.Length + " visual params, texture=" +
(set.ObjectData.TextureEntry.Length > 1 ? "yes" : "no"));
//TODO: Store this for cached bake responses
for (int i = 0; i < set.WearableData.Length; i++)
{
//AvatarTextureIndex index = (AvatarTextureIndex)set.WearableData[i].TextureIndex;
//UUID cacheID = set.WearableData[i].CacheID;
//m_log.DebugFormat("WearableData: {0} is now {1}", index, cacheID);
}
// Create a TextureEntry
if (set.ObjectData.TextureEntry.Length > 1)
{
agent.TextureEntry = new Primitive.TextureEntry(set.ObjectData.TextureEntry, 0,
set.ObjectData.TextureEntry.Length);
llUpdateFlags |= LLUpdateFlags.Textures;
#region Bake Cache Check
for (int i = 0; i < BAKE_INDICES.Length; i++)
{
int j = BAKE_INDICES[i];
Primitive.TextureEntryFace face = agent.TextureEntry.FaceTextures[j];
if (face != null && face.TextureID != AppearanceManager.DEFAULT_AVATAR_TEXTURE)
{
m_log.Debug("Baked texture " + (AvatarTextureIndex)j + " set to " + face.TextureID);
}
}
#endregion Bake Cache Check
}
if (agent.Scale != set.AgentData.Size)
{
// This will be modified in UpdateHeight() if VisualParams are also sent
agent.Scale = set.AgentData.Size;
updateFlags |= UpdateFlags.Scale;
}
// Create a block of VisualParams
if (set.VisualParam.Length > 1)
{
byte[] visualParams = new byte[set.VisualParam.Length];
for (int i = 0; i < set.VisualParam.Length; i++)
visualParams[i] = set.VisualParam[i].ParamValue;
agent.VisualParams = visualParams;
agent.UpdateHeight();
// Create the event that generates an AvatarAppearance packet for this agent
m_scene.CreateInterestListEvent(new InterestListEvent
(
UUID.Combine(agent.ID, APPEARANCE_EVENT_ID),
AVATAR_APPEARANCE,
agent.ScenePosition,
agent.Scale,
agent
));
}
if (updateFlags != 0 || llUpdateFlags != 0)
m_scene.EntityAddOrUpdate(this, agent, updateFlags, (uint)llUpdateFlags);
}