Aurora.ScriptEngine.AuroraDotNetEngine.APIs.LSL_Api.llGetParcelDetails C# (CSharp) Метод

llGetParcelDetails() публичный Метод

public llGetParcelDetails ( Aurora.ScriptEngine.AuroraDotNetEngine.LSL_Types.Vector3 pos, Aurora.ScriptEngine.AuroraDotNetEngine.LSL_Types.list param ) : Aurora.ScriptEngine.AuroraDotNetEngine.LSL_Types.list
pos Aurora.ScriptEngine.AuroraDotNetEngine.LSL_Types.Vector3
param Aurora.ScriptEngine.AuroraDotNetEngine.LSL_Types.list
Результат Aurora.ScriptEngine.AuroraDotNetEngine.LSL_Types.list
        public LSL_List llGetParcelDetails(LSL_Vector pos, LSL_List param)
        {
            if (!ScriptProtection.CheckThreatLevel(ThreatLevel.None, "LSL", m_host, "LSL", m_itemID)) return new LSL_List();

            IParcelManagementModule parcelManagement = World.RequestModuleInterface<IParcelManagementModule>();
            LSL_List ret = new LSL_List();
            if (parcelManagement != null)
            {
                LandData land = parcelManagement.GetLandObject((float)pos.x, (float)pos.y).LandData;
                if (land == null)
                {
                    return new LSL_List(0);
                }
                foreach (object o in param.Data)
                {
                    if ((LSL_Integer)o == ScriptBaseClass.PARCEL_DETAILS_NAME)
                        ret.Add(new LSL_String(land.Name));
                    else if ((LSL_Integer)o == ScriptBaseClass.PARCEL_DETAILS_DESC)
                        ret.Add(new LSL_String(land.Description));
                    else if ((LSL_Integer)o == ScriptBaseClass.PARCEL_DETAILS_OWNER)
                        ret.Add(new LSL_Key(land.OwnerID.ToString()));
                    else if ((LSL_Integer)o == ScriptBaseClass.PARCEL_DETAILS_GROUP)
                        ret.Add(new LSL_Key(land.GroupID.ToString()));
                    else if ((LSL_Integer)o == ScriptBaseClass.PARCEL_DETAILS_AREA)
                        ret.Add(new LSL_Integer(land.Area));
                    else if ((LSL_Integer)o == ScriptBaseClass.PARCEL_DETAILS_ID)
                        //Returning the InfoUUID so that we can use this for landmarks outside of this region
                        // http://wiki.secondlife.com/wiki/PARCEL_DETAILS_ID
                        ret.Add(new LSL_Key(land.InfoUUID.ToString()));
                    else if ((LSL_Integer)o == ScriptBaseClass.PARCEL_DETAILS_PRIVACY)
                        ret.Add(new LSL_Integer(land.Private ? 1 : 0));
                    else
                        ret.Add(new LSL_Integer(0));
                }
            }
            return ret;
        }
LSL_Api