diff options
author | Melanie Thielker | 2008-07-19 04:05:34 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-07-19 04:05:34 +0000 |
commit | bcf74416a1677584c069e4e0b9acf9015d8c5b6c (patch) | |
tree | 8c0b967fafbc21e93974760c0b32a0dd2119b930 /OpenSim/Region/ScriptEngine/XEngine | |
parent | Introduce a separate connection string for estates, which defaults to the one gi (diff) | |
download | opensim-SC_OLD-bcf74416a1677584c069e4e0b9acf9015d8c5b6c.zip opensim-SC_OLD-bcf74416a1677584c069e4e0b9acf9015d8c5b6c.tar.gz opensim-SC_OLD-bcf74416a1677584c069e4e0b9acf9015d8c5b6c.tar.bz2 opensim-SC_OLD-bcf74416a1677584c069e4e0b9acf9015d8c5b6c.tar.xz |
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.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/XEngine')
-rw-r--r-- | OpenSim/Region/ScriptEngine/XEngine/EventManager.cs | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs b/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs index 3fd4942..db11e6b 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs | |||
@@ -93,9 +93,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
93 | if (part == null) | 93 | if (part == null) |
94 | return; | 94 | return; |
95 | 95 | ||
96 | det[0].LinkNum = 0; | 96 | det[0].LinkNum = part.LinkNum; |
97 | if (part.ParentGroup.Children.Count > 0) | ||
98 | det[0].LinkNum = part.LinkNum + 1; | ||
99 | 97 | ||
100 | myScriptEngine.PostObjectEvent(localID, new EventParams( | 98 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
101 | "touch_start", new Object[] { new LSL_Types.LSLInteger(1) }, | 99 | "touch_start", new Object[] { new LSL_Types.LSLInteger(1) }, |
@@ -119,9 +117,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
119 | if (part == null) | 117 | if (part == null) |
120 | return; | 118 | return; |
121 | 119 | ||
122 | det[0].LinkNum = 0; | 120 | det[0].LinkNum = part.LinkNum; |
123 | if (part.ParentGroup.Children.Count > 0) | ||
124 | det[0].LinkNum = part.LinkNum + 1; | ||
125 | 121 | ||
126 | myScriptEngine.PostObjectEvent(localID, new EventParams( | 122 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
127 | "touch", new Object[] { new LSL_Types.LSLInteger(1) }, | 123 | "touch", new Object[] { new LSL_Types.LSLInteger(1) }, |
@@ -141,9 +137,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
141 | if (part == null) | 137 | if (part == null) |
142 | return; | 138 | return; |
143 | 139 | ||
144 | det[0].LinkNum = 0; | 140 | det[0].LinkNum = part.LinkNum; |
145 | if (part.ParentGroup.Children.Count > 0) | ||
146 | det[0].LinkNum = part.LinkNum + 1; | ||
147 | 141 | ||
148 | myScriptEngine.PostObjectEvent(localID, new EventParams( | 142 | myScriptEngine.PostObjectEvent(localID, new EventParams( |
149 | "touch_end", new Object[] { new LSL_Types.LSLInteger(1) }, | 143 | "touch_end", new Object[] { new LSL_Types.LSLInteger(1) }, |