Beispiel #1
0
 public ParcelInfo(int bitmapWidth, int bitmapHeight)
 {
     m_LandBitmap   = new byte[bitmapHeight, bitmapWidth / 8];
     m_BitmapWidth  = bitmapWidth;
     m_BitmapHeight = bitmapHeight;
     LandBitmap     = new ParcelDataLandBitmap(m_LandBitmap, m_BitmapWidth, m_BitmapHeight, m_LandBitmapRwLock, this);
 }
Beispiel #2
0
 public ParcelInfo(ParcelInfo src, bool noCopyBitmap = false)
 {
     m_LandBitmap      = new byte[src.m_BitmapHeight, src.m_BitmapWidth / 8];
     m_BitmapWidth     = src.m_BitmapWidth;
     m_BitmapHeight    = src.m_BitmapHeight;
     LandBitmap        = new ParcelDataLandBitmap(m_LandBitmap, m_BitmapWidth, m_BitmapHeight, m_LandBitmapRwLock, this);
     Area              = src.Area;
     AuctionID         = src.AuctionID;
     AuthBuyer         = new UGUI(src.AuthBuyer);
     Category          = src.Category;
     ClaimDate         = src.ClaimDate;
     ClaimPrice        = src.ClaimPrice;
     ID                = src.ID;
     Group             = new UGI(src.Group);
     GroupOwned        = src.GroupOwned;
     Description       = src.Description;
     Flags             = src.Flags;
     LandingType       = src.LandingType;
     LandingPosition   = src.LandingPosition;
     LandingLookAt     = src.LandingLookAt;
     Name              = src.Name;
     Status            = src.Status;
     LocalID           = src.LocalID;
     MusicURI          = src.MusicURI;
     MediaURI          = src.MediaURI;
     MediaID           = src.MediaID;
     MediaType         = src.MediaType;
     Owner             = new UGUI(src.Owner);
     SnapshotID        = src.SnapshotID;
     SalePrice         = src.SalePrice;
     OtherCleanTime    = src.OtherCleanTime;
     MediaAutoScale    = src.MediaAutoScale;
     MediaWidth        = src.MediaWidth;
     MediaHeight       = src.MediaHeight;
     MediaLoop         = src.MediaLoop;
     MediaDescription  = src.MediaDescription;
     RentPrice         = src.RentPrice;
     AABBMin           = src.AABBMin;
     AABBMax           = src.AABBMax;
     ParcelPrimBonus   = src.ParcelPrimBonus;
     PassPrice         = src.PassPrice;
     PassHours         = src.PassHours;
     ActualArea        = src.ActualArea;
     BillableArea      = src.BillableArea;
     Dwell             = src.Dwell;
     ObscureMedia      = src.ObscureMedia;
     ObscureMusic      = src.ObscureMusic;
     SeeAvatars        = src.SeeAvatars;
     AnyAvatarSounds   = src.AnyAvatarSounds;
     GroupAvatarSounds = src.GroupAvatarSounds;
     IsPrivate         = src.IsPrivate;
     if (!noCopyBitmap)
     {
         LandBitmap.DataNoAABBUpdate = src.LandBitmap.Data;
     }
 }
Beispiel #3
0
 /** <summary>Do not use this to merge with an active parcel data</summary> */
 public void Merge(ParcelDataLandBitmap bitmap) => m_LandBitmapRwLock.AcquireWriterLock(() =>
 {
     if (bitmap.m_LandBitmap.Length == m_LandBitmap.Length)
     {
         for (int y = 0; y < BitmapHeight; ++y)
         {
             for (int x = 0; x < BitmapWidth; ++x)
             {
                 m_LandBitmap[y, x] |= bitmap.m_LandBitmap[y, x];
             }
         }
         DetermineAABB();
     }
     else
     {
         throw new ArgumentException("Parcel Bitmap size does not match");
     }
 });