OpenMetaverse.Messages.Linden.ObjectMediaResponse.Serialize C# (CSharp) Method

Serialize() public method

Serialize object
public Serialize ( ) : OSDMap
return OSDMap
        public override OSDMap Serialize()
        {
            OSDMap map = new OSDMap(2);
            map["object_id"] = OSD.FromUUID(PrimID);

            if (FaceMedia == null)
            {
                map["object_media_data"] = new OSDArray();
            }
            else
            {
                OSDArray mediaData = new OSDArray(FaceMedia.Length);

                for (int i = 0; i < FaceMedia.Length; i++)
                {
                    if (FaceMedia[i] == null)
                        mediaData.Add(new OSD());
                    else
                        mediaData.Add(FaceMedia[i].GetOSD());
                }

                map["object_media_data"] = mediaData;
            }

            map["object_media_version"] = OSD.FromString(Version);
            return map;
        }

Usage Example

Ejemplo n.º 1
0
        /// <summary>
        /// Handle a fetch request for media textures
        /// </summary>
        /// <param name="omr"></param>
        /// <returns></returns>
        protected string HandleObjectMediaRequest(ObjectMediaRequest omr)
        {
            UUID primId = omr.PrimID;

            ISceneChildEntity part = m_scene.GetSceneObjectPart (primId);
            
            if (null == part)
            {
                m_log.WarnFormat(
                    "[MOAP]: Received a GET ObjectMediaRequest for prim {0} but this doesn't exist in region {1}", 
                    primId, m_scene.RegionInfo.RegionName);
                return string.Empty;
            }

            ObjectMediaResponse resp = new ObjectMediaResponse();

            resp.PrimID = primId;
            resp.FaceMedia = new OpenSim.Framework.PrimitiveBaseShape.MediaList().ToArray();
            resp.Version = "x-mv:0000000001/00000000-0000-0000-0000-000000000000";
            if (null != part.Shape.Media)
            {
                lock (part.Shape.Media)
                    resp.FaceMedia = part.Shape.Media.ToArray();

                resp.Version = part.MediaUrl;
            }
           
            string rawResp = OSDParser.SerializeLLSDXmlString(resp.Serialize());
            
//            m_log.DebugFormat("[MOAP]: Got HandleObjectMediaRequestGet raw response is [{0}]", rawResp);
            
            return rawResp;
        }
All Usage Examples Of OpenMetaverse.Messages.Linden.ObjectMediaResponse::Serialize
ObjectMediaResponse