示例#1
0
        public override void FromOSD(OSDMap v)
        {
            OSDMap values = (OSDMap)v;

            EstateID   = (uint)values["EstateID"].AsInteger();
            EstateName = values["EstateName"].AsString();
            AbuseEmailToEstateOwner = values["AbuseEmailToEstateOwner"].AsBoolean();
            DenyAnonymous           = values["DenyAnonymous"].AsBoolean();
            ResetHomeOnTeleport     = values["ResetHomeOnTeleport"].AsBoolean();
            FixedSun            = values["FixedSun"].AsBoolean();
            DenyTransacted      = values["DenyTransacted"].AsBoolean();
            BlockDwell          = values["BlockDwell"].AsBoolean();
            DenyIdentified      = values["DenyIdentified"].AsBoolean();
            AllowVoice          = values["AllowVoice"].AsBoolean();
            UseGlobalTime       = values["UseGlobalTime"].AsBoolean();
            PricePerMeter       = values["PricePerMeter"].AsInteger();
            TaxFree             = values["TaxFree"].AsBoolean();
            AllowDirectTeleport = values["AllowDirectTeleport"].AsBoolean();
            ParentEstateID      = (uint)values["ParentEstateID"].AsInteger();
            SunPosition         = values["SunPosition"].AsReal();
            EstateSkipScripts   = values["EstateSkipScripts"].AsBoolean();
            BillableFactor      = (float)values["BillableFactor"].AsReal();
            PublicAccess        = values["PublicAccess"].AsBoolean();
            AbuseEmail          = values["AbuseEmail"].AsString();
            EstateOwner         = values["EstateOwner"].AsUUID();
            AllowLandmark       = values["AllowLandmark"].AsBoolean();
            AllowParcelChanges  = values["AllowParcelChanges"].AsBoolean();
            AllowSetHome        = values["AllowSetHome"].AsBoolean();
            DenyMinors          = values["DenyMinors"].AsBoolean();

            OSDArray Managers = values["EstateManagers"] as OSDArray;

            if (Managers != null)
            {
                EstateManagers = Managers.ConvertAll <UUID>((o) => o);
            }

            OSDArray Ban = values["EstateBans"] as OSDArray;

            if (Ban != null)
            {
                EstateBans = Ban.ConvertAll <EstateBan>((o) =>
                {
                    EstateBan ban = new EstateBan();
                    ban.FromOSD(o);
                    return(ban);
                });
            }

            OSDArray Access = values["EstateAccess"] as OSDArray;

            if (Access != null)
            {
                EstateAccess = Access.ConvertAll <UUID>((o) => o);
            }

            OSDArray Groups = values["EstateGroups"] as OSDArray;

            if (Groups != null)
            {
                EstateGroups = Groups.ConvertAll <UUID>((o) => o);
            }
        }
示例#2
0
        public override void FromOSD(OSDMap v)
        {
            OSDMap values = (OSDMap) v;
            EstateID = (uint) values["EstateID"].AsInteger();
            EstateName = values["EstateName"].AsString();
            AbuseEmailToEstateOwner = values["AbuseEmailToEstateOwner"].AsBoolean();
            DenyAnonymous = values["DenyAnonymous"].AsBoolean();
            ResetHomeOnTeleport = values["ResetHomeOnTeleport"].AsBoolean();
            FixedSun = values["FixedSun"].AsBoolean();
            DenyTransacted = values["DenyTransacted"].AsBoolean();
            BlockDwell = values["BlockDwell"].AsBoolean();
            DenyIdentified = values["DenyIdentified"].AsBoolean();
            AllowVoice = values["AllowVoice"].AsBoolean();
            UseGlobalTime = values["UseGlobalTime"].AsBoolean();
            PricePerMeter = values["PricePerMeter"].AsInteger();
            TaxFree = values["TaxFree"].AsBoolean();
            AllowDirectTeleport = values["AllowDirectTeleport"].AsBoolean();
            RedirectGridX = values["RedirectGridX"].AsInteger();
            RedirectGridY = values["RedirectGridY"].AsInteger();
            ParentEstateID = (uint) values["ParentEstateID"].AsInteger();
            SunPosition = values["SunPosition"].AsReal();
            EstateSkipScripts = values["EstateSkipScripts"].AsBoolean();
            BillableFactor = (float) values["BillableFactor"].AsReal();
            PublicAccess = values["PublicAccess"].AsBoolean();
            AbuseEmail = values["AbuseEmail"].AsString();
            EstateOwner = values["EstateOwner"].AsUUID();
            AllowLandmark = values["AllowLandmark"].AsBoolean();
            AllowParcelChanges = values["AllowParcelChanges"].AsBoolean();
            AllowSetHome = values["AllowSetHome"].AsBoolean();
            DenyMinors = values["DenyMinors"].AsBoolean();

            OSDArray Managers = values["EstateManagers"] as OSDArray;
            if (Managers != null)
            {
#if (!ISWIN)
                List<UUID> list = new List<UUID>();
                foreach (OSD id in Managers)
                {
                    list.Add(id.AsUUID());
                }
                EstateManagers = list.ToArray();
#else
                EstateManagers = Managers.Select(id => id.AsUUID()).ToArray();
#endif
            }

            OSDArray Ban = values["EstateBans"] as OSDArray;
            if (Ban != null)
            {
                List<EstateBan> NewBan = new List<EstateBan>();
                foreach (OSD BannedUser in Ban)
                {
                    EstateBan ban = new EstateBan();
                    ban.FromOSD(BannedUser);
                    NewBan.Add(ban);
                }
                EstateBans = NewBan.ToArray();
            }

            OSDArray Access = values["EstateAccess"] as OSDArray;
            if (Access != null)
            {
#if (!ISWIN)
                List<UUID> list1 = new List<UUID>();
                foreach (OSD uuid in Access)
                {
                    list1.Add(uuid.AsUUID());
                }
                EstateAccess = list1.ToArray();
#else
                EstateAccess = Access.Select(uuid => uuid.AsUUID()).ToArray();
#endif
            }

            OSDArray Groups = values["EstateGroups"] as OSDArray;
            if (Groups != null)
            {
#if (!ISWIN)
                List<UUID> list2 = new List<UUID>();
                foreach (OSD uuid in Groups)
                {
                    list2.Add(uuid.AsUUID());
                }
                EstateGroups = list2.ToArray();
#else
                EstateGroups = Groups.Select(uuid => uuid.AsUUID()).ToArray();
#endif
            }
        }