All pastes #798130 Raw Edit

Parcel Prims - for Ot

public text v1 · immutable
#798130 ·published 2007-11-26 16:37 UTC
rendered paste body
// returns true of object is on parcel

        private bool IsObjectOnParcel(Parcel parcel, LLVector3 location)
        {
            if(location.X <= parcel.AABBMax.X && location.X >= parcel.AABBMin.X && location.Y <= parcel.AABBMax.Y && location.Y >= parcel.AABBMin.Y)
            {
                return true;
            } else {
                return false;
            }
        }

// get uuid list of prim owners on a parcel
        private List<ParcelManager.ParcelPrimOwners> GetParcelPrims(Parcel parcel)
        {
            ManualResetEvent WaitForGetParcelPrims = new ManualResetEvent(false);
            List<ParcelManager.ParcelPrimOwners> ownerPrims = new List<ParcelManager.ParcelPrimOwners>();

            ParcelManager.ParcelObjectOwnersListReplyCallback del = delegate(Simulator simulator, List<ParcelManager.ParcelPrimOwners> primOwners)
            {
                ownerPrims = primOwners;
                WaitForGetParcelPrims.Set();
            };
            Client.Parcels.OnPrimOwnersListReply += del;
            Client.Parcels.ObjectOwnersRequest(Client.Network.CurrentSim, parcel.LocalID);
            WaitForGetParcelPrims.WaitOne();
            Client.Parcels.OnPrimOwnersListReply -= del;
            return ownerPrims;
        }