/// <summary> /// Construct a new instance of the ParcelMediaUpdateReplyEventArgs class /// </summary> /// <param name="simulator">the simulator the parcel media data was updated in</param> /// <param name="media">The updated media information</param> public ParcelMediaUpdateReplyEventArgs(Simulator simulator, ParcelMedia media) { this.m_Simulator = simulator; this.m_ParcelMedia = media; }
/// <summary> /// Defalt constructor /// </summary> /// <param name="localID">Local ID of this parcel</param> public Parcel(int localID) { LocalID = localID; ClaimDate = Utils.Epoch; Bitmap = Utils.EmptyBytes; Name = String.Empty; Desc = String.Empty; MusicURL = String.Empty; AccessWhiteList = new List<ParcelManager.ParcelAccessEntry>(0); AccessBlackList = new List<ParcelManager.ParcelAccessEntry>(0); Media = new ParcelMedia(); }
/// <summary>Process an incoming packet and raise the appropriate events</summary> /// <param name="sender">The sender</param> /// <param name="e">The EventArgs object containing the packet data</param> /// <remarks>Raises the <see cref="ParcelMediaUpdateReply"/> event</remarks> protected void ParcelMediaUpdateHandler(object sender, PacketReceivedEventArgs e) { if (m_ParcelMediaUpdateReply != null) { Packet packet = e.Packet; Simulator simulator = e.Simulator; ParcelMediaUpdatePacket reply = (ParcelMediaUpdatePacket)packet; ParcelMedia media = new ParcelMedia(); media.MediaAutoScale = (reply.DataBlock.MediaAutoScale == (byte)0x1) ? true : false; media.MediaID = reply.DataBlock.MediaID; media.MediaDesc = Utils.BytesToString(reply.DataBlockExtended.MediaDesc); media.MediaHeight = reply.DataBlockExtended.MediaHeight; media.MediaLoop = ((reply.DataBlockExtended.MediaLoop & 1) != 0) ? true : false; media.MediaType = Utils.BytesToString(reply.DataBlockExtended.MediaType); media.MediaWidth = reply.DataBlockExtended.MediaWidth; media.MediaURL = Utils.BytesToString(reply.DataBlock.MediaURL); OnParcelMediaUpdateReply(new ParcelMediaUpdateReplyEventArgs(simulator, media)); } }
/// <summary> /// Defalt constructor /// </summary> /// <param name="simulator">Simulator this parcel resides in</param> /// <param name="localID">Local ID of this parcel</param> public Parcel(Simulator simulator, int localID) { Simulator = simulator; LocalID = localID; RequestResult = 0; SequenceID = 0; SnapSelection = false; SelfCount = 0; OtherCount = 0; PublicCount = 0; OwnerID = UUID.Zero; IsGroupOwned = false; AuctionID = 0; ClaimDate = Helpers.Epoch; ClaimPrice = 0; RentPrice = 0; AABBMin = Vector3.Zero; AABBMax = Vector3.Zero; Bitmap = new byte[0]; Area = 0; Status = ParcelStatus.None; SimWideMaxPrims = 0; SimWideTotalPrims = 0; MaxPrims = 0; TotalPrims = 0; OwnerPrims = 0; GroupPrims = 0; OtherPrims = 0; SelectedPrims = 0; ParcelPrimBonus = 0; OtherCleanTime = 0; Flags = ParcelFlags.None; SalePrice = 0; Name = String.Empty; Desc = String.Empty; MusicURL = String.Empty; GroupID = UUID.Zero; PassPrice = 0; PassHours = 0; Category = ParcelCategory.None; AuthBuyerID = UUID.Zero; SnapshotID = UUID.Zero; UserLocation = Vector3.Zero; UserLookAt = Vector3.Zero; LandingType = 0x0; Dwell = 0; RegionDenyAnonymous = false; RegionPushOverride = false; AccessList = new List<ParcelManager.ParcelAccessEntry>(0); RegionDenyAgeUnverified = false; Media = new ParcelMedia(); ObscureMedia = false; ObscureMusic = false; }
private void ParcelMediaUpdateHandler(Packet packet, Simulator simulator) { ParcelMediaUpdatePacket reply = (ParcelMediaUpdatePacket)packet; ParcelMedia media = new ParcelMedia(); media.MediaAutoScale = reply.DataBlock.MediaAutoScale; media.MediaID = reply.DataBlock.MediaID; media.MediaDesc = Helpers.FieldToUTF8String(reply.DataBlockExtended.MediaDesc); media.MediaHeight = reply.DataBlockExtended.MediaHeight; media.MediaLoop = ((reply.DataBlockExtended.MediaLoop & 1) != 0) ? true : false; media.MediaType = Helpers.FieldToUTF8String(reply.DataBlockExtended.MediaType); media.MediaWidth = reply.DataBlockExtended.MediaWidth; media.MediaURL = Helpers.FieldToUTF8String(reply.DataBlock.MediaURL); if (OnParcelMediaUpdate != null) { try { OnParcelMediaUpdate(simulator, media); } catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); } } }
/// <summary> /// Copy constructor /// </summary> public SceneParcel(SceneParcel parcel) { if (parcel.AccessBlackList != null) AccessBlackList = new List<ParcelAccessEntry>(parcel.AccessBlackList); if (parcel.AccessWhiteList != null) AccessWhiteList = new List<ParcelAccessEntry>(parcel.AccessWhiteList); AuthBuyerID = parcel.AuthBuyerID; AutoReturnTime = parcel.AutoReturnTime; Bitmap = new byte[512]; Buffer.BlockCopy(parcel.Bitmap, 0, Bitmap, 0, 512); Category = parcel.Category; ClaimDate = parcel.ClaimDate; Desc = parcel.Desc; Dwell = parcel.Dwell; Flags = parcel.Flags; GroupID = parcel.GroupID; IsGroupOwned = parcel.IsGroupOwned; Landing = parcel.Landing; LocalID = parcel.LocalID; MaxPrims = parcel.MaxPrims; ParcelMedia oldMedia = parcel.Media; Media = new ParcelMedia { MediaAutoScale = oldMedia.MediaAutoScale, MediaDesc = oldMedia.MediaDesc, MediaHeight = oldMedia.MediaHeight, MediaID = oldMedia.MediaID, MediaLoop = oldMedia.MediaLoop, MediaType = oldMedia.MediaType, MediaURL = oldMedia.MediaURL, MediaWidth = oldMedia.MediaWidth }; MusicURL = parcel.MusicURL; Name = parcel.Name; ObscureMedia = parcel.ObscureMedia; ObscureMusic = parcel.ObscureMusic; OwnerID = parcel.OwnerID; PassHours = parcel.PassHours; PassPrice = parcel.PassPrice; DenyAgeUnverified = parcel.DenyAgeUnverified; DenyAnonymous = parcel.DenyAnonymous; PushOverride = parcel.PushOverride; SalePrice = parcel.SalePrice; SnapshotID = parcel.SnapshotID; Status = parcel.Status; LandingLocation = parcel.LandingLocation; LandingLookAt = parcel.LandingLookAt; }
/// <summary> /// Defalt constructor /// </summary> /// <param name="localID">Local ID of this parcel</param> public Parcel(int localID) { LocalID = localID; SelfCount = 0; OtherCount = 0; PublicCount = 0; OwnerID = Guid.Empty; IsGroupOwned = false; AuctionID = 0; ClaimDate = Utils.Epoch; ClaimPrice = 0; RentPrice = 0; AABBMin = Vector3f.Zero; AABBMax = Vector3f.Zero; Bitmap = new byte[0]; Area = 0; Status = ParcelStatus.None; SimWideMaxPrims = 0; SimWideTotalPrims = 0; MaxPrims = 0; TotalPrims = 0; OwnerPrims = 0; GroupPrims = 0; OtherPrims = 0; ParcelPrimBonus = 0; OtherCleanTime = 0; Flags = ParcelFlags.None; SalePrice = 0; Name = String.Empty; Desc = String.Empty; MusicURL = String.Empty; GroupID = Guid.Empty; PassPrice = 0; PassHours = 0; Category = ParcelCategory.None; AuthBuyerID = Guid.Empty; SnapshotID = Guid.Empty; UserLocation = Vector3f.Zero; UserLookAt = Vector3f.Zero; Landing = LandingType.None; Dwell = 0; RegionDenyAnonymous = false; RegionPushOverride = false; AccessWhiteList = new List<ParcelManager.ParcelAccessEntry>(); AccessBlackList = new List<ParcelManager.ParcelAccessEntry>(0); RegionDenyAgeUnverified = false; Media = new ParcelMedia(); ObscureMedia = false; ObscureMusic = false; }