Beispiel #1
0
        private void World_OnEntityUpdate(IEntity ent, World.UpdateCodes what)
        {
            IEntityAvatar av = null;

            if (ent.TryGet <IEntityAvatar>(out av))
            {
                m_log.Log(LogLevel.DUPDATEDETAIL | LogLevel.DVIEWDETAIL, "OnEntityUpdate: Avatar: {0}", ent.Name.Name);
                this.Renderer.RenderUpdate(ent, what);
            }
            else
            {
                m_log.Log(LogLevel.DUPDATEDETAIL | LogLevel.DVIEWDETAIL, "OnEntityUpdate: Other. w={0}", what);
                this.Renderer.RenderUpdate(ent, what);
            }
            return;
        }
Beispiel #2
0
 private OMVSD.OSD GetHandler(RestHandler handler, Uri uri, String after)
 {
     OMVSD.OSDMap ret = new OMVSD.OSDMap();
     lock (m_avatars) {
         foreach (KeyValuePair <string, IEntityAvatar> kvp in m_avatars)
         {
             OMVSD.OSDMap  oneAV = new OMVSD.OSDMap();
             IEntityAvatar iav   = kvp.Value;
             try {
                 oneAV.Add("Name", new OMVSD.OSDString(iav.DisplayName));
                 oneAV.Add("Region", new OMVSD.OSDString(iav.RegionContext.Name.Name));
                 oneAV.Add("X", new OMVSD.OSDString(iav.RegionPosition.X.ToString("###0.###")));
                 oneAV.Add("Y", new OMVSD.OSDString(iav.RegionPosition.Y.ToString("###0.###")));
                 oneAV.Add("Z", new OMVSD.OSDString(iav.RegionPosition.Z.ToString("###0.###")));
                 float dist = 0f;
                 if (m_agentAV != null)
                 {
                     dist = OMV.Vector3.Distance(m_agentAV.RegionPosition, iav.RegionPosition);
                 }
                 oneAV.Add("Distance", new OMVSD.OSDString(dist.ToString("###0.###")));
                 oneAV.Add("Flags", new OMVSD.OSDString(iav.ActivityFlags));
                 if (iav is LLEntityAvatar)
                 {
                     OMV.Avatar av = ((LLEntityAvatar)iav).Avatar;
                     if (av != null)
                     {
                         OMVSD.OSDMap avTextures           = new OMVSD.OSDMap();
                         OMV.Primitive.TextureEntry texEnt = av.Textures;
                         if (texEnt != null)
                         {
                             OMV.Primitive.TextureEntryFace[] texFaces = texEnt.FaceTextures;
                             if (texFaces != null)
                             {
                                 if (texFaces[(int)OMV.AvatarTextureIndex.HeadBaked] != null)
                                 {
                                     avTextures.Add("head", new OMVSD.OSDString(texFaces[(int)OMV.AvatarTextureIndex.HeadBaked].TextureID.ToString()));
                                 }
                                 if (texFaces[(int)OMV.AvatarTextureIndex.UpperBaked] != null)
                                 {
                                     avTextures.Add("upper", new OMVSD.OSDString(texFaces[(int)OMV.AvatarTextureIndex.UpperBaked].TextureID.ToString()));
                                 }
                                 if (texFaces[(int)OMV.AvatarTextureIndex.LowerBaked] != null)
                                 {
                                     avTextures.Add("lower", new OMVSD.OSDString(texFaces[(int)OMV.AvatarTextureIndex.LowerBaked].TextureID.ToString()));
                                 }
                                 if (texFaces[(int)OMV.AvatarTextureIndex.EyesBaked] != null)
                                 {
                                     avTextures.Add("eyes", new OMVSD.OSDString(texFaces[(int)OMV.AvatarTextureIndex.EyesBaked].TextureID.ToString()));
                                 }
                                 if (texFaces[(int)OMV.AvatarTextureIndex.HairBaked] != null)
                                 {
                                     avTextures.Add("hair", new OMVSD.OSDString(texFaces[(int)OMV.AvatarTextureIndex.HairBaked].TextureID.ToString()));
                                 }
                                 if (texFaces[(int)OMV.AvatarTextureIndex.SkirtBaked] != null)
                                 {
                                     avTextures.Add("skirt", new OMVSD.OSDString(texFaces[(int)OMV.AvatarTextureIndex.SkirtBaked].TextureID.ToString()));
                                 }
                                 oneAV.Add("LLtextures", avTextures);
                             }
                         }
                     }
                 }
             }
             catch (Exception e) {
                 LogManager.Log.Log(LogLevel.DBADERROR, "AvatarTracker.GetHandler: exception building response: {0}", e);
             }
             ret.Add(kvp.Value.Name.Name.Replace('/', '-'), oneAV);
         }
     }
     return(ret);
 }