Fix prim link numbers (Mantis #1781)

Implements additional unlink modes (unlink root prim from link set, some
multi-set operations). Linking (single and mutiple) fully implemented.
Consistent numbering of links while in world. Link/delink with predictable
link numbering. Correct link numbers in LSL.
Not all multi-set ops implemented. Link numbers still change when taken and
re-rezzed.
This commit is contained in:
Melanie Thielker
2008-07-19 04:05:34 +00:00
parent a73d87ef16
commit bcf74416a1
7 changed files with 148 additions and 47 deletions

View File

@@ -93,9 +93,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
if (part == null)
return;
det[0].LinkNum = 0;
if (part.ParentGroup.Children.Count > 0)
det[0].LinkNum = part.LinkNum + 1;
det[0].LinkNum = part.LinkNum;
myScriptEngine.PostObjectEvent(localID, new EventParams(
"touch_start", new Object[] { new LSL_Types.LSLInteger(1) },
@@ -119,9 +117,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
if (part == null)
return;
det[0].LinkNum = 0;
if (part.ParentGroup.Children.Count > 0)
det[0].LinkNum = part.LinkNum + 1;
det[0].LinkNum = part.LinkNum;
myScriptEngine.PostObjectEvent(localID, new EventParams(
"touch", new Object[] { new LSL_Types.LSLInteger(1) },
@@ -141,9 +137,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
if (part == null)
return;
det[0].LinkNum = 0;
if (part.ParentGroup.Children.Count > 0)
det[0].LinkNum = part.LinkNum + 1;
det[0].LinkNum = part.LinkNum;
myScriptEngine.PostObjectEvent(localID, new EventParams(
"touch_end", new Object[] { new LSL_Types.LSLInteger(1) },