From 279e0061c515ee0a03036bef68eea9738273d785 Mon Sep 17 00:00:00 2001 From: Johan Berntsson Date: Tue, 4 Mar 2008 05:31:54 +0000 Subject: Merged 3Di code that provides scene and avatar serialization, and plugin support for region move/split/merge. See ThirdParty/3Di/README.txt. Unless the new modules are used there should be no noticeable changes when running OpenSim. --- OpenSim/Framework/AvatarWearable.cs | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) (limited to 'OpenSim/Framework/AvatarWearable.cs') diff --git a/OpenSim/Framework/AvatarWearable.cs b/OpenSim/Framework/AvatarWearable.cs index c7083f3..e7c2338 100644 --- a/OpenSim/Framework/AvatarWearable.cs +++ b/OpenSim/Framework/AvatarWearable.cs @@ -26,10 +26,14 @@ * */ using libsecondlife; +using System; +using System.Runtime.Serialization; +using System.Security.Permissions; namespace OpenSim.Framework { - public class AvatarWearable + [Serializable] + public class AvatarWearable : ISerializable { public LLUUID AssetID = new LLUUID("00000000-0000-0000-0000-000000000000"); public LLUUID ItemID = new LLUUID("00000000-0000-0000-0000-000000000000"); @@ -67,5 +71,32 @@ namespace OpenSim.Framework return defaultWearables; } } + protected AvatarWearable(SerializationInfo info, StreamingContext context) + { + //System.Console.WriteLine("AvatarWearable Deserialize BGN"); + if (info == null) + { + throw new System.ArgumentNullException("info"); + } + + AssetID = new LLUUID((Guid)info.GetValue("AssetID", typeof(Guid))); + ItemID = new LLUUID((Guid)info.GetValue("ItemID", typeof(Guid))); + + //System.Console.WriteLine("AvatarWearable Deserialize END"); + } + + [SecurityPermission(SecurityAction.LinkDemand, + Flags = SecurityPermissionFlag.SerializationFormatter)] + public virtual void GetObjectData( + SerializationInfo info, StreamingContext context) + { + if (info == null) + { + throw new System.ArgumentNullException("info"); + } + + info.AddValue("AssetID", AssetID.UUID); + info.AddValue("ItemID", ItemID.UUID); + } } -} \ No newline at end of file +} -- cgit v1.1