Merge branch 'master' into careminster-presence-refactor

This commit is contained in:
Melanie
2011-04-06 09:22:55 +01:00
25 changed files with 514 additions and 279 deletions

View File

@@ -10472,63 +10472,42 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public LSL_Integer llGetParcelPrimCount(LSL_Vector pos, int category, int sim_wide)
{
m_host.AddScriptLPS(1);
ILandObject lo = World.LandChannel.GetLandObject((float)pos.x, (float)pos.y);
LandData land = World.GetLandData((float)pos.x, (float)pos.y);
if (land == null)
{
if (lo == null)
return 0;
}
IPrimCounts pc = lo.PrimCounts;
else
if (sim_wide != ScriptBaseClass.FALSE)
{
if (sim_wide != 0)
if (category == ScriptBaseClass.PARCEL_COUNT_TOTAL)
{
if (category == 0)
{
return land.SimwidePrims;
}
else
{
//public int simwideArea = 0;
return 0;
}
return pc.Simulator;
}
else
{
if (category == 0)//Total Prims
{
return 0;//land.
}
else if (category == 1)//Owner Prims
{
return land.OwnerPrims;
}
else if (category == 2)//Group Prims
{
return land.GroupPrims;
}
else if (category == 3)//Other Prims
{
return land.OtherPrims;
}
else if (category == 4)//Selected
{
return land.SelectedPrims;
}
else if (category == 5)//Temp
{
return 0;//land.
}
// counts not implemented yet
return 0;
}
}
else
{
if (category == ScriptBaseClass.PARCEL_COUNT_TOTAL)
return pc.Total;
else if (category == ScriptBaseClass.PARCEL_COUNT_OWNER)
return pc.Owner;
else if (category == ScriptBaseClass.PARCEL_COUNT_GROUP)
return pc.Group;
else if (category == ScriptBaseClass.PARCEL_COUNT_OTHER)
return pc.Others;
else if (category == ScriptBaseClass.PARCEL_COUNT_SELECTED)
return pc.Selected;
else if (category == ScriptBaseClass.PARCEL_COUNT_TEMP)
return 0; // counts not implemented yet
}
return 0;
}