diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs | 1210 |
1 files changed, 605 insertions, 605 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs b/OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs index 4e579b6..e7e4caf 100644 --- a/OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs +++ b/OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs | |||
@@ -1,605 +1,605 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
5 | * Redistribution and use in source and binary forms, with or without | 5 | * Redistribution and use in source and binary forms, with or without |
6 | * modification, are permitted provided that the following conditions are met: | 6 | * modification, are permitted provided that the following conditions are met: |
7 | * * Redistributions of source code must retain the above copyright | 7 | * * Redistributions of source code must retain the above copyright |
8 | * notice, this list of conditions and the following disclaimer. | 8 | * notice, this list of conditions and the following disclaimer. |
9 | * * Redistributions in binary form must reproduce the above copyright | 9 | * * Redistributions in binary form must reproduce the above copyright |
10 | * notice, this list of conditions and the following disclaimer in the | 10 | * notice, this list of conditions and the following disclaimer in the |
11 | * documentation and/or other materials provided with the distribution. | 11 | * documentation and/or other materials provided with the distribution. |
12 | * * Neither the name of the OpenSim Project nor the | 12 | * * Neither the name of the OpenSim Project nor the |
13 | * names of its contributors may be used to endorse or promote products | 13 | * names of its contributors may be used to endorse or promote products |
14 | * derived from this software without specific prior written permission. | 14 | * derived from this software without specific prior written permission. |
15 | * | 15 | * |
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | 16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY |
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | 19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY |
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Text; | 30 | using System.Text; |
31 | using libsecondlife; | 31 | using libsecondlife; |
32 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
33 | using OpenSim.Region.Environment.Interfaces; | 33 | using OpenSim.Region.Environment.Interfaces; |
34 | 34 | ||
35 | namespace OpenSim.Region.Environment.Scenes | 35 | namespace OpenSim.Region.Environment.Scenes |
36 | { | 36 | { |
37 | public class SceneExternalChecks | 37 | public class SceneExternalChecks |
38 | { | 38 | { |
39 | private Scene m_scene; | 39 | private Scene m_scene; |
40 | 40 | ||
41 | public SceneExternalChecks(Scene scene) | 41 | public SceneExternalChecks(Scene scene) |
42 | { | 42 | { |
43 | m_scene = scene; | 43 | m_scene = scene; |
44 | } | 44 | } |
45 | 45 | ||
46 | #region Object Permission Checks | 46 | #region Object Permission Checks |
47 | 47 | ||
48 | #region REZ OBJECT | 48 | #region REZ OBJECT |
49 | public delegate bool CanRezObject(int objectCount, LLUUID owner, LLVector3 objectPosition, Scene scene); | 49 | public delegate bool CanRezObject(int objectCount, LLUUID owner, LLVector3 objectPosition, Scene scene); |
50 | private List<CanRezObject> CanRezObjectCheckFunctions = new List<CanRezObject>(); | 50 | private List<CanRezObject> CanRezObjectCheckFunctions = new List<CanRezObject>(); |
51 | 51 | ||
52 | public void addCheckRezObject(CanRezObject delegateFunc) | 52 | public void addCheckRezObject(CanRezObject delegateFunc) |
53 | { | 53 | { |
54 | if(!CanRezObjectCheckFunctions.Contains(delegateFunc)) | 54 | if(!CanRezObjectCheckFunctions.Contains(delegateFunc)) |
55 | CanRezObjectCheckFunctions.Add(delegateFunc); | 55 | CanRezObjectCheckFunctions.Add(delegateFunc); |
56 | } | 56 | } |
57 | public void removeCheckRezObject(CanRezObject delegateFunc) | 57 | public void removeCheckRezObject(CanRezObject delegateFunc) |
58 | { | 58 | { |
59 | if (CanRezObjectCheckFunctions.Contains(delegateFunc)) | 59 | if (CanRezObjectCheckFunctions.Contains(delegateFunc)) |
60 | CanRezObjectCheckFunctions.Remove(delegateFunc); | 60 | CanRezObjectCheckFunctions.Remove(delegateFunc); |
61 | } | 61 | } |
62 | 62 | ||
63 | public bool ExternalChecksCanRezObject(int objectCount, LLUUID owner, LLVector3 objectPosition) | 63 | public bool ExternalChecksCanRezObject(int objectCount, LLUUID owner, LLVector3 objectPosition) |
64 | { | 64 | { |
65 | foreach (CanRezObject check in CanRezObjectCheckFunctions) | 65 | foreach (CanRezObject check in CanRezObjectCheckFunctions) |
66 | { | 66 | { |
67 | if (check(objectCount, owner,objectPosition, m_scene) == false) | 67 | if (check(objectCount, owner,objectPosition, m_scene) == false) |
68 | { | 68 | { |
69 | return false; | 69 | return false; |
70 | } | 70 | } |
71 | } | 71 | } |
72 | return true; | 72 | return true; |
73 | } | 73 | } |
74 | 74 | ||
75 | #endregion | 75 | #endregion |
76 | 76 | ||
77 | #region DEREZ OBJECT | 77 | #region DEREZ OBJECT |
78 | public delegate bool CanDeRezObject(LLUUID objectID, LLUUID deleter, Scene scene); | 78 | public delegate bool CanDeRezObject(LLUUID objectID, LLUUID deleter, Scene scene); |
79 | private List<CanDeRezObject> CanDeRezObjectCheckFunctions = new List<CanDeRezObject>(); | 79 | private List<CanDeRezObject> CanDeRezObjectCheckFunctions = new List<CanDeRezObject>(); |
80 | 80 | ||
81 | public void addCheckDeRezObject(CanDeRezObject delegateFunc) | 81 | public void addCheckDeRezObject(CanDeRezObject delegateFunc) |
82 | { | 82 | { |
83 | if (!CanDeRezObjectCheckFunctions.Contains(delegateFunc)) | 83 | if (!CanDeRezObjectCheckFunctions.Contains(delegateFunc)) |
84 | CanDeRezObjectCheckFunctions.Add(delegateFunc); | 84 | CanDeRezObjectCheckFunctions.Add(delegateFunc); |
85 | } | 85 | } |
86 | public void removeCheckDeRezObject(CanDeRezObject delegateFunc) | 86 | public void removeCheckDeRezObject(CanDeRezObject delegateFunc) |
87 | { | 87 | { |
88 | if (CanDeRezObjectCheckFunctions.Contains(delegateFunc)) | 88 | if (CanDeRezObjectCheckFunctions.Contains(delegateFunc)) |
89 | CanDeRezObjectCheckFunctions.Remove(delegateFunc); | 89 | CanDeRezObjectCheckFunctions.Remove(delegateFunc); |
90 | } | 90 | } |
91 | 91 | ||
92 | public bool ExternalChecksCanDeRezObject(LLUUID objectID, LLUUID deleter) | 92 | public bool ExternalChecksCanDeRezObject(LLUUID objectID, LLUUID deleter) |
93 | { | 93 | { |
94 | foreach (CanDeRezObject check in CanDeRezObjectCheckFunctions) | 94 | foreach (CanDeRezObject check in CanDeRezObjectCheckFunctions) |
95 | { | 95 | { |
96 | if (check(objectID,deleter,m_scene) == false) | 96 | if (check(objectID,deleter,m_scene) == false) |
97 | { | 97 | { |
98 | return false; | 98 | return false; |
99 | } | 99 | } |
100 | } | 100 | } |
101 | return true; | 101 | return true; |
102 | } | 102 | } |
103 | 103 | ||
104 | #endregion | 104 | #endregion |
105 | 105 | ||
106 | #region TAKE OBJECT | 106 | #region TAKE OBJECT |
107 | public delegate bool CanTakeObject(LLUUID objectID, LLUUID stealer, Scene scene); | 107 | public delegate bool CanTakeObject(LLUUID objectID, LLUUID stealer, Scene scene); |
108 | private List<CanTakeObject> CanTakeObjectCheckFunctions = new List<CanTakeObject>(); | 108 | private List<CanTakeObject> CanTakeObjectCheckFunctions = new List<CanTakeObject>(); |
109 | 109 | ||
110 | public void addCheckTakeObject(CanTakeObject delegateFunc) | 110 | public void addCheckTakeObject(CanTakeObject delegateFunc) |
111 | { | 111 | { |
112 | if (!CanTakeObjectCheckFunctions.Contains(delegateFunc)) | 112 | if (!CanTakeObjectCheckFunctions.Contains(delegateFunc)) |
113 | CanTakeObjectCheckFunctions.Add(delegateFunc); | 113 | CanTakeObjectCheckFunctions.Add(delegateFunc); |
114 | } | 114 | } |
115 | public void removeCheckTakeObject(CanTakeObject delegateFunc) | 115 | public void removeCheckTakeObject(CanTakeObject delegateFunc) |
116 | { | 116 | { |
117 | if (CanTakeObjectCheckFunctions.Contains(delegateFunc)) | 117 | if (CanTakeObjectCheckFunctions.Contains(delegateFunc)) |
118 | CanTakeObjectCheckFunctions.Remove(delegateFunc); | 118 | CanTakeObjectCheckFunctions.Remove(delegateFunc); |
119 | } | 119 | } |
120 | 120 | ||
121 | public bool ExternalChecksCanTakeObject(LLUUID objectID, LLUUID stealer) | 121 | public bool ExternalChecksCanTakeObject(LLUUID objectID, LLUUID stealer) |
122 | { | 122 | { |
123 | foreach (CanTakeObject check in CanTakeObjectCheckFunctions) | 123 | foreach (CanTakeObject check in CanTakeObjectCheckFunctions) |
124 | { | 124 | { |
125 | if (check(objectID, stealer, m_scene) == false) | 125 | if (check(objectID, stealer, m_scene) == false) |
126 | { | 126 | { |
127 | return false; | 127 | return false; |
128 | } | 128 | } |
129 | } | 129 | } |
130 | return true; | 130 | return true; |
131 | } | 131 | } |
132 | 132 | ||
133 | #endregion | 133 | #endregion |
134 | 134 | ||
135 | #region COPY OBJECT | 135 | #region COPY OBJECT |
136 | public delegate bool CanCopyObject(int objectCount, LLUUID objectID, LLUUID owner, Scene scene, LLVector3 objectPosition); | 136 | public delegate bool CanCopyObject(int objectCount, LLUUID objectID, LLUUID owner, Scene scene, LLVector3 objectPosition); |
137 | private List<CanCopyObject> CanCopyObjectCheckFunctions = new List<CanCopyObject>(); | 137 | private List<CanCopyObject> CanCopyObjectCheckFunctions = new List<CanCopyObject>(); |
138 | 138 | ||
139 | public void addCheckCopyObject(CanCopyObject delegateFunc) | 139 | public void addCheckCopyObject(CanCopyObject delegateFunc) |
140 | { | 140 | { |
141 | if (!CanCopyObjectCheckFunctions.Contains(delegateFunc)) | 141 | if (!CanCopyObjectCheckFunctions.Contains(delegateFunc)) |
142 | CanCopyObjectCheckFunctions.Add(delegateFunc); | 142 | CanCopyObjectCheckFunctions.Add(delegateFunc); |
143 | } | 143 | } |
144 | public void removeCheckCopyObject(CanCopyObject delegateFunc) | 144 | public void removeCheckCopyObject(CanCopyObject delegateFunc) |
145 | { | 145 | { |
146 | if (CanCopyObjectCheckFunctions.Contains(delegateFunc)) | 146 | if (CanCopyObjectCheckFunctions.Contains(delegateFunc)) |
147 | CanCopyObjectCheckFunctions.Remove(delegateFunc); | 147 | CanCopyObjectCheckFunctions.Remove(delegateFunc); |
148 | } | 148 | } |
149 | 149 | ||
150 | public bool ExternalChecksCanCopyObject(int objectCount, LLUUID objectID, LLUUID owner, LLVector3 objectPosition) | 150 | public bool ExternalChecksCanCopyObject(int objectCount, LLUUID objectID, LLUUID owner, LLVector3 objectPosition) |
151 | { | 151 | { |
152 | foreach (CanCopyObject check in CanCopyObjectCheckFunctions) | 152 | foreach (CanCopyObject check in CanCopyObjectCheckFunctions) |
153 | { | 153 | { |
154 | if (check(objectCount, objectID, owner, m_scene, objectPosition) == false) | 154 | if (check(objectCount, objectID, owner, m_scene, objectPosition) == false) |
155 | { | 155 | { |
156 | return false; | 156 | return false; |
157 | } | 157 | } |
158 | } | 158 | } |
159 | return true; | 159 | return true; |
160 | } | 160 | } |
161 | 161 | ||
162 | #endregion | 162 | #endregion |
163 | 163 | ||
164 | #region EDIT OBJECT | 164 | #region EDIT OBJECT |
165 | public delegate bool CanEditObject(LLUUID objectID, LLUUID editorID, Scene scene); | 165 | public delegate bool CanEditObject(LLUUID objectID, LLUUID editorID, Scene scene); |
166 | private List<CanEditObject> CanEditObjectCheckFunctions = new List<CanEditObject>(); | 166 | private List<CanEditObject> CanEditObjectCheckFunctions = new List<CanEditObject>(); |
167 | 167 | ||
168 | public void addCheckEditObject(CanEditObject delegateFunc) | 168 | public void addCheckEditObject(CanEditObject delegateFunc) |
169 | { | 169 | { |
170 | if (!CanEditObjectCheckFunctions.Contains(delegateFunc)) | 170 | if (!CanEditObjectCheckFunctions.Contains(delegateFunc)) |
171 | CanEditObjectCheckFunctions.Add(delegateFunc); | 171 | CanEditObjectCheckFunctions.Add(delegateFunc); |
172 | } | 172 | } |
173 | public void removeCheckEditObject(CanEditObject delegateFunc) | 173 | public void removeCheckEditObject(CanEditObject delegateFunc) |
174 | { | 174 | { |
175 | if (CanEditObjectCheckFunctions.Contains(delegateFunc)) | 175 | if (CanEditObjectCheckFunctions.Contains(delegateFunc)) |
176 | CanEditObjectCheckFunctions.Remove(delegateFunc); | 176 | CanEditObjectCheckFunctions.Remove(delegateFunc); |
177 | } | 177 | } |
178 | 178 | ||
179 | public bool ExternalChecksCanEditObject(LLUUID objectID, LLUUID editorID) | 179 | public bool ExternalChecksCanEditObject(LLUUID objectID, LLUUID editorID) |
180 | { | 180 | { |
181 | foreach (CanEditObject check in CanEditObjectCheckFunctions) | 181 | foreach (CanEditObject check in CanEditObjectCheckFunctions) |
182 | { | 182 | { |
183 | if (check(objectID, editorID, m_scene) == false) | 183 | if (check(objectID, editorID, m_scene) == false) |
184 | { | 184 | { |
185 | return false; | 185 | return false; |
186 | } | 186 | } |
187 | } | 187 | } |
188 | return true; | 188 | return true; |
189 | } | 189 | } |
190 | 190 | ||
191 | #endregion | 191 | #endregion |
192 | 192 | ||
193 | #region MOVE OBJECT | 193 | #region MOVE OBJECT |
194 | public delegate bool CanMoveObject(LLUUID objectID, LLUUID moverID, Scene scene); | 194 | public delegate bool CanMoveObject(LLUUID objectID, LLUUID moverID, Scene scene); |
195 | private List<CanMoveObject> CanMoveObjectCheckFunctions = new List<CanMoveObject>(); | 195 | private List<CanMoveObject> CanMoveObjectCheckFunctions = new List<CanMoveObject>(); |
196 | 196 | ||
197 | public void addCheckMoveObject(CanMoveObject delegateFunc) | 197 | public void addCheckMoveObject(CanMoveObject delegateFunc) |
198 | { | 198 | { |
199 | if (!CanMoveObjectCheckFunctions.Contains(delegateFunc)) | 199 | if (!CanMoveObjectCheckFunctions.Contains(delegateFunc)) |
200 | CanMoveObjectCheckFunctions.Add(delegateFunc); | 200 | CanMoveObjectCheckFunctions.Add(delegateFunc); |
201 | } | 201 | } |
202 | public void removeCheckMoveObject(CanMoveObject delegateFunc) | 202 | public void removeCheckMoveObject(CanMoveObject delegateFunc) |
203 | { | 203 | { |
204 | if (CanMoveObjectCheckFunctions.Contains(delegateFunc)) | 204 | if (CanMoveObjectCheckFunctions.Contains(delegateFunc)) |
205 | CanMoveObjectCheckFunctions.Remove(delegateFunc); | 205 | CanMoveObjectCheckFunctions.Remove(delegateFunc); |
206 | } | 206 | } |
207 | 207 | ||
208 | public bool ExternalChecksCanMoveObject(LLUUID objectID, LLUUID moverID) | 208 | public bool ExternalChecksCanMoveObject(LLUUID objectID, LLUUID moverID) |
209 | { | 209 | { |
210 | foreach (CanMoveObject check in CanMoveObjectCheckFunctions) | 210 | foreach (CanMoveObject check in CanMoveObjectCheckFunctions) |
211 | { | 211 | { |
212 | if (check(objectID,moverID,m_scene) == false) | 212 | if (check(objectID,moverID,m_scene) == false) |
213 | { | 213 | { |
214 | return false; | 214 | return false; |
215 | } | 215 | } |
216 | } | 216 | } |
217 | return true; | 217 | return true; |
218 | } | 218 | } |
219 | 219 | ||
220 | #endregion | 220 | #endregion |
221 | 221 | ||
222 | #region RETURN OBJECT | 222 | #region RETURN OBJECT |
223 | public delegate bool CanReturnObject(LLUUID objectID, LLUUID returnerID, Scene scene); | 223 | public delegate bool CanReturnObject(LLUUID objectID, LLUUID returnerID, Scene scene); |
224 | private List<CanReturnObject> CanReturnObjectCheckFunctions = new List<CanReturnObject>(); | 224 | private List<CanReturnObject> CanReturnObjectCheckFunctions = new List<CanReturnObject>(); |
225 | 225 | ||
226 | public void addCheckReturnObject(CanReturnObject delegateFunc) | 226 | public void addCheckReturnObject(CanReturnObject delegateFunc) |
227 | { | 227 | { |
228 | if (!CanReturnObjectCheckFunctions.Contains(delegateFunc)) | 228 | if (!CanReturnObjectCheckFunctions.Contains(delegateFunc)) |
229 | CanReturnObjectCheckFunctions.Add(delegateFunc); | 229 | CanReturnObjectCheckFunctions.Add(delegateFunc); |
230 | } | 230 | } |
231 | public void removeCheckReturnObject(CanReturnObject delegateFunc) | 231 | public void removeCheckReturnObject(CanReturnObject delegateFunc) |
232 | { | 232 | { |
233 | if (CanReturnObjectCheckFunctions.Contains(delegateFunc)) | 233 | if (CanReturnObjectCheckFunctions.Contains(delegateFunc)) |
234 | CanReturnObjectCheckFunctions.Remove(delegateFunc); | 234 | CanReturnObjectCheckFunctions.Remove(delegateFunc); |
235 | } | 235 | } |
236 | 236 | ||
237 | public bool ExternalChecksCanReturnObject(LLUUID objectID, LLUUID returnerID) | 237 | public bool ExternalChecksCanReturnObject(LLUUID objectID, LLUUID returnerID) |
238 | { | 238 | { |
239 | foreach (CanReturnObject check in CanReturnObjectCheckFunctions) | 239 | foreach (CanReturnObject check in CanReturnObjectCheckFunctions) |
240 | { | 240 | { |
241 | if (check(objectID,returnerID,m_scene) == false) | 241 | if (check(objectID,returnerID,m_scene) == false) |
242 | { | 242 | { |
243 | return false; | 243 | return false; |
244 | } | 244 | } |
245 | } | 245 | } |
246 | return true; | 246 | return true; |
247 | } | 247 | } |
248 | 248 | ||
249 | #endregion | 249 | #endregion |
250 | 250 | ||
251 | #endregion | 251 | #endregion |
252 | 252 | ||
253 | #region Misc Permission Checks | 253 | #region Misc Permission Checks |
254 | 254 | ||
255 | #region INSTANT MESSAGE | 255 | #region INSTANT MESSAGE |
256 | public delegate bool CanInstantMessage(LLUUID user, LLUUID target, Scene startScene); | 256 | public delegate bool CanInstantMessage(LLUUID user, LLUUID target, Scene startScene); |
257 | private List<CanInstantMessage> CanInstantMessageCheckFunctions = new List<CanInstantMessage>(); | 257 | private List<CanInstantMessage> CanInstantMessageCheckFunctions = new List<CanInstantMessage>(); |
258 | 258 | ||
259 | public void addCheckInstantMessage(CanInstantMessage delegateFunc) | 259 | public void addCheckInstantMessage(CanInstantMessage delegateFunc) |
260 | { | 260 | { |
261 | if (!CanInstantMessageCheckFunctions.Contains(delegateFunc)) | 261 | if (!CanInstantMessageCheckFunctions.Contains(delegateFunc)) |
262 | CanInstantMessageCheckFunctions.Add(delegateFunc); | 262 | CanInstantMessageCheckFunctions.Add(delegateFunc); |
263 | } | 263 | } |
264 | public void removeCheckInstantMessage(CanInstantMessage delegateFunc) | 264 | public void removeCheckInstantMessage(CanInstantMessage delegateFunc) |
265 | { | 265 | { |
266 | if (CanInstantMessageCheckFunctions.Contains(delegateFunc)) | 266 | if (CanInstantMessageCheckFunctions.Contains(delegateFunc)) |
267 | CanInstantMessageCheckFunctions.Remove(delegateFunc); | 267 | CanInstantMessageCheckFunctions.Remove(delegateFunc); |
268 | } | 268 | } |
269 | 269 | ||
270 | public bool ExternalChecksCanInstantMessage(LLUUID user, LLUUID target) | 270 | public bool ExternalChecksCanInstantMessage(LLUUID user, LLUUID target) |
271 | { | 271 | { |
272 | foreach (CanInstantMessage check in CanInstantMessageCheckFunctions) | 272 | foreach (CanInstantMessage check in CanInstantMessageCheckFunctions) |
273 | { | 273 | { |
274 | if (check(user,target,m_scene) == false) | 274 | if (check(user,target,m_scene) == false) |
275 | { | 275 | { |
276 | return false; | 276 | return false; |
277 | } | 277 | } |
278 | } | 278 | } |
279 | return true; | 279 | return true; |
280 | } | 280 | } |
281 | 281 | ||
282 | #endregion | 282 | #endregion |
283 | 283 | ||
284 | #region INVENTORY TRANSFER | 284 | #region INVENTORY TRANSFER |
285 | public delegate bool CanInventoryTransfer(LLUUID user, LLUUID target, Scene startScene); | 285 | public delegate bool CanInventoryTransfer(LLUUID user, LLUUID target, Scene startScene); |
286 | private List<CanInventoryTransfer> CanInventoryTransferCheckFunctions = new List<CanInventoryTransfer>(); | 286 | private List<CanInventoryTransfer> CanInventoryTransferCheckFunctions = new List<CanInventoryTransfer>(); |
287 | 287 | ||
288 | public void addCheckInventoryTransfer(CanInventoryTransfer delegateFunc) | 288 | public void addCheckInventoryTransfer(CanInventoryTransfer delegateFunc) |
289 | { | 289 | { |
290 | if (!CanInventoryTransferCheckFunctions.Contains(delegateFunc)) | 290 | if (!CanInventoryTransferCheckFunctions.Contains(delegateFunc)) |
291 | CanInventoryTransferCheckFunctions.Add(delegateFunc); | 291 | CanInventoryTransferCheckFunctions.Add(delegateFunc); |
292 | } | 292 | } |
293 | public void removeCheckInventoryTransfer(CanInventoryTransfer delegateFunc) | 293 | public void removeCheckInventoryTransfer(CanInventoryTransfer delegateFunc) |
294 | { | 294 | { |
295 | if (CanInventoryTransferCheckFunctions.Contains(delegateFunc)) | 295 | if (CanInventoryTransferCheckFunctions.Contains(delegateFunc)) |
296 | CanInventoryTransferCheckFunctions.Remove(delegateFunc); | 296 | CanInventoryTransferCheckFunctions.Remove(delegateFunc); |
297 | } | 297 | } |
298 | 298 | ||
299 | public bool ExternalChecksCanInventoryTransfer(LLUUID user, LLUUID target) | 299 | public bool ExternalChecksCanInventoryTransfer(LLUUID user, LLUUID target) |
300 | { | 300 | { |
301 | foreach (CanInventoryTransfer check in CanInventoryTransferCheckFunctions) | 301 | foreach (CanInventoryTransfer check in CanInventoryTransferCheckFunctions) |
302 | { | 302 | { |
303 | if (check(user, target, m_scene) == false) | 303 | if (check(user, target, m_scene) == false) |
304 | { | 304 | { |
305 | return false; | 305 | return false; |
306 | } | 306 | } |
307 | } | 307 | } |
308 | return true; | 308 | return true; |
309 | } | 309 | } |
310 | 310 | ||
311 | #endregion | 311 | #endregion |
312 | 312 | ||
313 | #region EDIT SCRIPT | 313 | #region EDIT SCRIPT |
314 | public delegate bool CanEditScript(LLUUID script, LLUUID user, Scene scene); | 314 | public delegate bool CanEditScript(LLUUID script, LLUUID user, Scene scene); |
315 | private List<CanEditScript> CanEditScriptCheckFunctions = new List<CanEditScript>(); | 315 | private List<CanEditScript> CanEditScriptCheckFunctions = new List<CanEditScript>(); |
316 | 316 | ||
317 | public void addCheckEditScript(CanEditScript delegateFunc) | 317 | public void addCheckEditScript(CanEditScript delegateFunc) |
318 | { | 318 | { |
319 | if (!CanEditScriptCheckFunctions.Contains(delegateFunc)) | 319 | if (!CanEditScriptCheckFunctions.Contains(delegateFunc)) |
320 | CanEditScriptCheckFunctions.Add(delegateFunc); | 320 | CanEditScriptCheckFunctions.Add(delegateFunc); |
321 | } | 321 | } |
322 | public void removeCheckEditScript(CanEditScript delegateFunc) | 322 | public void removeCheckEditScript(CanEditScript delegateFunc) |
323 | { | 323 | { |
324 | if (CanEditScriptCheckFunctions.Contains(delegateFunc)) | 324 | if (CanEditScriptCheckFunctions.Contains(delegateFunc)) |
325 | CanEditScriptCheckFunctions.Remove(delegateFunc); | 325 | CanEditScriptCheckFunctions.Remove(delegateFunc); |
326 | } | 326 | } |
327 | 327 | ||
328 | public bool ExternalChecksCanEditScript(LLUUID script, LLUUID user) | 328 | public bool ExternalChecksCanEditScript(LLUUID script, LLUUID user) |
329 | { | 329 | { |
330 | foreach (CanEditScript check in CanEditScriptCheckFunctions) | 330 | foreach (CanEditScript check in CanEditScriptCheckFunctions) |
331 | { | 331 | { |
332 | if (check(script, user, m_scene) == false) | 332 | if (check(script, user, m_scene) == false) |
333 | { | 333 | { |
334 | return false; | 334 | return false; |
335 | } | 335 | } |
336 | } | 336 | } |
337 | return true; | 337 | return true; |
338 | } | 338 | } |
339 | 339 | ||
340 | #endregion | 340 | #endregion |
341 | 341 | ||
342 | #region RUN SCRIPT | 342 | #region RUN SCRIPT |
343 | public delegate bool CanRunScript(LLUUID script, LLUUID user, Scene scene); | 343 | public delegate bool CanRunScript(LLUUID script, LLUUID user, Scene scene); |
344 | private List<CanRunScript> CanRunScriptCheckFunctions = new List<CanRunScript>(); | 344 | private List<CanRunScript> CanRunScriptCheckFunctions = new List<CanRunScript>(); |
345 | 345 | ||
346 | public void addCheckRunScript(CanRunScript delegateFunc) | 346 | public void addCheckRunScript(CanRunScript delegateFunc) |
347 | { | 347 | { |
348 | if (!CanRunScriptCheckFunctions.Contains(delegateFunc)) | 348 | if (!CanRunScriptCheckFunctions.Contains(delegateFunc)) |
349 | CanRunScriptCheckFunctions.Add(delegateFunc); | 349 | CanRunScriptCheckFunctions.Add(delegateFunc); |
350 | } | 350 | } |
351 | public void removeCheckRunScript(CanRunScript delegateFunc) | 351 | public void removeCheckRunScript(CanRunScript delegateFunc) |
352 | { | 352 | { |
353 | if (CanRunScriptCheckFunctions.Contains(delegateFunc)) | 353 | if (CanRunScriptCheckFunctions.Contains(delegateFunc)) |
354 | CanRunScriptCheckFunctions.Remove(delegateFunc); | 354 | CanRunScriptCheckFunctions.Remove(delegateFunc); |
355 | } | 355 | } |
356 | 356 | ||
357 | public bool ExternalChecksCanRunScript(LLUUID script, LLUUID user) | 357 | public bool ExternalChecksCanRunScript(LLUUID script, LLUUID user) |
358 | { | 358 | { |
359 | foreach (CanRunScript check in CanRunScriptCheckFunctions) | 359 | foreach (CanRunScript check in CanRunScriptCheckFunctions) |
360 | { | 360 | { |
361 | if (check(script, user, m_scene) == false) | 361 | if (check(script, user, m_scene) == false) |
362 | { | 362 | { |
363 | return false; | 363 | return false; |
364 | } | 364 | } |
365 | } | 365 | } |
366 | return true; | 366 | return true; |
367 | } | 367 | } |
368 | 368 | ||
369 | #endregion | 369 | #endregion |
370 | 370 | ||
371 | #region TERRAFORM LAND | 371 | #region TERRAFORM LAND |
372 | public delegate bool CanTerraformLandCommand(LLUUID user, LLVector3 position, Scene requestFromScene); | 372 | public delegate bool CanTerraformLandCommand(LLUUID user, LLVector3 position, Scene requestFromScene); |
373 | private List<CanTerraformLandCommand> CanTerraformLandCommandCheckFunctions = new List<CanTerraformLandCommand>(); | 373 | private List<CanTerraformLandCommand> CanTerraformLandCommandCheckFunctions = new List<CanTerraformLandCommand>(); |
374 | 374 | ||
375 | public void addCheckTerraformLandCommand(CanTerraformLandCommand delegateFunc) | 375 | public void addCheckTerraformLandCommand(CanTerraformLandCommand delegateFunc) |
376 | { | 376 | { |
377 | if (!CanTerraformLandCommandCheckFunctions.Contains(delegateFunc)) | 377 | if (!CanTerraformLandCommandCheckFunctions.Contains(delegateFunc)) |
378 | CanTerraformLandCommandCheckFunctions.Add(delegateFunc); | 378 | CanTerraformLandCommandCheckFunctions.Add(delegateFunc); |
379 | } | 379 | } |
380 | public void removeCheckTerraformLandCommand(CanTerraformLandCommand delegateFunc) | 380 | public void removeCheckTerraformLandCommand(CanTerraformLandCommand delegateFunc) |
381 | { | 381 | { |
382 | if (CanTerraformLandCommandCheckFunctions.Contains(delegateFunc)) | 382 | if (CanTerraformLandCommandCheckFunctions.Contains(delegateFunc)) |
383 | CanTerraformLandCommandCheckFunctions.Remove(delegateFunc); | 383 | CanTerraformLandCommandCheckFunctions.Remove(delegateFunc); |
384 | } | 384 | } |
385 | 385 | ||
386 | public bool ExternalChecksCanTerraformLand(LLUUID user, LLVector3 pos) | 386 | public bool ExternalChecksCanTerraformLand(LLUUID user, LLVector3 pos) |
387 | { | 387 | { |
388 | foreach (CanTerraformLandCommand check in CanTerraformLandCommandCheckFunctions) | 388 | foreach (CanTerraformLandCommand check in CanTerraformLandCommandCheckFunctions) |
389 | { | 389 | { |
390 | if (check(user, pos, m_scene) == false) | 390 | if (check(user, pos, m_scene) == false) |
391 | { | 391 | { |
392 | return false; | 392 | return false; |
393 | } | 393 | } |
394 | } | 394 | } |
395 | return true; | 395 | return true; |
396 | } | 396 | } |
397 | 397 | ||
398 | #endregion | 398 | #endregion |
399 | 399 | ||
400 | #region RUN CONSOLE COMMAND | 400 | #region RUN CONSOLE COMMAND |
401 | public delegate bool CanRunConsoleCommand(LLUUID user, Scene requestFromScene); | 401 | public delegate bool CanRunConsoleCommand(LLUUID user, Scene requestFromScene); |
402 | private List<CanRunConsoleCommand> CanRunConsoleCommandCheckFunctions = new List<CanRunConsoleCommand>(); | 402 | private List<CanRunConsoleCommand> CanRunConsoleCommandCheckFunctions = new List<CanRunConsoleCommand>(); |
403 | 403 | ||
404 | public void addCheckRunConsoleCommand(CanRunConsoleCommand delegateFunc) | 404 | public void addCheckRunConsoleCommand(CanRunConsoleCommand delegateFunc) |
405 | { | 405 | { |
406 | if (!CanRunConsoleCommandCheckFunctions.Contains(delegateFunc)) | 406 | if (!CanRunConsoleCommandCheckFunctions.Contains(delegateFunc)) |
407 | CanRunConsoleCommandCheckFunctions.Add(delegateFunc); | 407 | CanRunConsoleCommandCheckFunctions.Add(delegateFunc); |
408 | } | 408 | } |
409 | public void removeCheckRunConsoleCommand(CanRunConsoleCommand delegateFunc) | 409 | public void removeCheckRunConsoleCommand(CanRunConsoleCommand delegateFunc) |
410 | { | 410 | { |
411 | if (CanRunConsoleCommandCheckFunctions.Contains(delegateFunc)) | 411 | if (CanRunConsoleCommandCheckFunctions.Contains(delegateFunc)) |
412 | CanRunConsoleCommandCheckFunctions.Remove(delegateFunc); | 412 | CanRunConsoleCommandCheckFunctions.Remove(delegateFunc); |
413 | } | 413 | } |
414 | 414 | ||
415 | public bool ExternalChecksCanRunConsoleCommand(LLUUID user) | 415 | public bool ExternalChecksCanRunConsoleCommand(LLUUID user) |
416 | { | 416 | { |
417 | foreach (CanRunConsoleCommand check in CanRunConsoleCommandCheckFunctions) | 417 | foreach (CanRunConsoleCommand check in CanRunConsoleCommandCheckFunctions) |
418 | { | 418 | { |
419 | if (check(user, m_scene) == false) | 419 | if (check(user, m_scene) == false) |
420 | { | 420 | { |
421 | return false; | 421 | return false; |
422 | } | 422 | } |
423 | } | 423 | } |
424 | return true; | 424 | return true; |
425 | } | 425 | } |
426 | 426 | ||
427 | #endregion | 427 | #endregion |
428 | 428 | ||
429 | #region CAN BE GODLIKE | 429 | #region CAN BE GODLIKE |
430 | public delegate bool CanBeGodLike(LLUUID user, Scene requestFromScene); | 430 | public delegate bool CanBeGodLike(LLUUID user, Scene requestFromScene); |
431 | private List<CanBeGodLike> CanBeGodLikeCheckFunctions = new List<CanBeGodLike>(); | 431 | private List<CanBeGodLike> CanBeGodLikeCheckFunctions = new List<CanBeGodLike>(); |
432 | 432 | ||
433 | public void addCheckBeGodLike(CanBeGodLike delegateFunc) | 433 | public void addCheckBeGodLike(CanBeGodLike delegateFunc) |
434 | { | 434 | { |
435 | if (!CanBeGodLikeCheckFunctions.Contains(delegateFunc)) | 435 | if (!CanBeGodLikeCheckFunctions.Contains(delegateFunc)) |
436 | CanBeGodLikeCheckFunctions.Add(delegateFunc); | 436 | CanBeGodLikeCheckFunctions.Add(delegateFunc); |
437 | } | 437 | } |
438 | public void removeCheckBeGodLike(CanBeGodLike delegateFunc) | 438 | public void removeCheckBeGodLike(CanBeGodLike delegateFunc) |
439 | { | 439 | { |
440 | if (CanBeGodLikeCheckFunctions.Contains(delegateFunc)) | 440 | if (CanBeGodLikeCheckFunctions.Contains(delegateFunc)) |
441 | CanBeGodLikeCheckFunctions.Remove(delegateFunc); | 441 | CanBeGodLikeCheckFunctions.Remove(delegateFunc); |
442 | } | 442 | } |
443 | 443 | ||
444 | public bool ExternalChecksCanBeGodLike(LLUUID user) | 444 | public bool ExternalChecksCanBeGodLike(LLUUID user) |
445 | { | 445 | { |
446 | foreach (CanBeGodLike check in CanBeGodLikeCheckFunctions) | 446 | foreach (CanBeGodLike check in CanBeGodLikeCheckFunctions) |
447 | { | 447 | { |
448 | if (check(user, m_scene) == false) | 448 | if (check(user, m_scene) == false) |
449 | { | 449 | { |
450 | return false; | 450 | return false; |
451 | } | 451 | } |
452 | } | 452 | } |
453 | return true; | 453 | return true; |
454 | } | 454 | } |
455 | 455 | ||
456 | #endregion | 456 | #endregion |
457 | 457 | ||
458 | #endregion | 458 | #endregion |
459 | 459 | ||
460 | #region Parcel and Estate Permission Checks | 460 | #region Parcel and Estate Permission Checks |
461 | #region EDIT ESTATE TERRAIN | 461 | #region EDIT ESTATE TERRAIN |
462 | public delegate bool CanEditEstateTerrain(LLUUID user, Scene scene); | 462 | public delegate bool CanEditEstateTerrain(LLUUID user, Scene scene); |
463 | private List<CanEditEstateTerrain> CanEditEstateTerrainCheckFunctions = new List<CanEditEstateTerrain>(); | 463 | private List<CanEditEstateTerrain> CanEditEstateTerrainCheckFunctions = new List<CanEditEstateTerrain>(); |
464 | 464 | ||
465 | public void addCheckEditEstateTerrain(CanEditEstateTerrain delegateFunc) | 465 | public void addCheckEditEstateTerrain(CanEditEstateTerrain delegateFunc) |
466 | { | 466 | { |
467 | if (!CanEditEstateTerrainCheckFunctions.Contains(delegateFunc)) | 467 | if (!CanEditEstateTerrainCheckFunctions.Contains(delegateFunc)) |
468 | CanEditEstateTerrainCheckFunctions.Add(delegateFunc); | 468 | CanEditEstateTerrainCheckFunctions.Add(delegateFunc); |
469 | } | 469 | } |
470 | public void removeCheckEditEstateTerrain(CanEditEstateTerrain delegateFunc) | 470 | public void removeCheckEditEstateTerrain(CanEditEstateTerrain delegateFunc) |
471 | { | 471 | { |
472 | if (CanEditEstateTerrainCheckFunctions.Contains(delegateFunc)) | 472 | if (CanEditEstateTerrainCheckFunctions.Contains(delegateFunc)) |
473 | CanEditEstateTerrainCheckFunctions.Remove(delegateFunc); | 473 | CanEditEstateTerrainCheckFunctions.Remove(delegateFunc); |
474 | } | 474 | } |
475 | 475 | ||
476 | public bool ExternalChecksCanEditEstateTerrain(LLUUID user) | 476 | public bool ExternalChecksCanEditEstateTerrain(LLUUID user) |
477 | { | 477 | { |
478 | foreach (CanEditEstateTerrain check in CanEditEstateTerrainCheckFunctions) | 478 | foreach (CanEditEstateTerrain check in CanEditEstateTerrainCheckFunctions) |
479 | { | 479 | { |
480 | if (check(user, m_scene) == false) | 480 | if (check(user, m_scene) == false) |
481 | { | 481 | { |
482 | return false; | 482 | return false; |
483 | } | 483 | } |
484 | } | 484 | } |
485 | return true; | 485 | return true; |
486 | } | 486 | } |
487 | 487 | ||
488 | #endregion | 488 | #endregion |
489 | 489 | ||
490 | #region RESTART SIM | 490 | #region RESTART SIM |
491 | public delegate bool CanRestartSim(LLUUID user, Scene scene); | 491 | public delegate bool CanRestartSim(LLUUID user, Scene scene); |
492 | private List<CanRestartSim> CanRestartSimCheckFunctions = new List<CanRestartSim>(); | 492 | private List<CanRestartSim> CanRestartSimCheckFunctions = new List<CanRestartSim>(); |
493 | 493 | ||
494 | public void addCheckRestartSim(CanRestartSim delegateFunc) | 494 | public void addCheckRestartSim(CanRestartSim delegateFunc) |
495 | { | 495 | { |
496 | if (!CanRestartSimCheckFunctions.Contains(delegateFunc)) | 496 | if (!CanRestartSimCheckFunctions.Contains(delegateFunc)) |
497 | CanRestartSimCheckFunctions.Add(delegateFunc); | 497 | CanRestartSimCheckFunctions.Add(delegateFunc); |
498 | } | 498 | } |
499 | public void removeCheckRestartSim(CanRestartSim delegateFunc) | 499 | public void removeCheckRestartSim(CanRestartSim delegateFunc) |
500 | { | 500 | { |
501 | if (CanRestartSimCheckFunctions.Contains(delegateFunc)) | 501 | if (CanRestartSimCheckFunctions.Contains(delegateFunc)) |
502 | CanRestartSimCheckFunctions.Remove(delegateFunc); | 502 | CanRestartSimCheckFunctions.Remove(delegateFunc); |
503 | } | 503 | } |
504 | 504 | ||
505 | public bool ExternalChecksCanRestartSim(LLUUID user) | 505 | public bool ExternalChecksCanRestartSim(LLUUID user) |
506 | { | 506 | { |
507 | foreach (CanRestartSim check in CanRestartSimCheckFunctions) | 507 | foreach (CanRestartSim check in CanRestartSimCheckFunctions) |
508 | { | 508 | { |
509 | if (check(user, m_scene) == false) | 509 | if (check(user, m_scene) == false) |
510 | { | 510 | { |
511 | return false; | 511 | return false; |
512 | } | 512 | } |
513 | } | 513 | } |
514 | return true; | 514 | return true; |
515 | } | 515 | } |
516 | #endregion | 516 | #endregion |
517 | 517 | ||
518 | #region EDIT PARCEL | 518 | #region EDIT PARCEL |
519 | public delegate bool CanEditParcel(LLUUID user, ILandObject parcel, Scene scene); | 519 | public delegate bool CanEditParcel(LLUUID user, ILandObject parcel, Scene scene); |
520 | private List<CanEditParcel> CanEditParcelCheckFunctions = new List<CanEditParcel>(); | 520 | private List<CanEditParcel> CanEditParcelCheckFunctions = new List<CanEditParcel>(); |
521 | 521 | ||
522 | public void addCheckEditParcel(CanEditParcel delegateFunc) | 522 | public void addCheckEditParcel(CanEditParcel delegateFunc) |
523 | { | 523 | { |
524 | if (!CanEditParcelCheckFunctions.Contains(delegateFunc)) | 524 | if (!CanEditParcelCheckFunctions.Contains(delegateFunc)) |
525 | CanEditParcelCheckFunctions.Add(delegateFunc); | 525 | CanEditParcelCheckFunctions.Add(delegateFunc); |
526 | } | 526 | } |
527 | public void removeCheckEditParcel(CanEditParcel delegateFunc) | 527 | public void removeCheckEditParcel(CanEditParcel delegateFunc) |
528 | { | 528 | { |
529 | if (CanEditParcelCheckFunctions.Contains(delegateFunc)) | 529 | if (CanEditParcelCheckFunctions.Contains(delegateFunc)) |
530 | CanEditParcelCheckFunctions.Remove(delegateFunc); | 530 | CanEditParcelCheckFunctions.Remove(delegateFunc); |
531 | } | 531 | } |
532 | 532 | ||
533 | public bool ExternalChecksCanEditParcel(LLUUID user, ILandObject parcel) | 533 | public bool ExternalChecksCanEditParcel(LLUUID user, ILandObject parcel) |
534 | { | 534 | { |
535 | foreach (CanEditParcel check in CanEditParcelCheckFunctions) | 535 | foreach (CanEditParcel check in CanEditParcelCheckFunctions) |
536 | { | 536 | { |
537 | if (check(user, parcel, m_scene) == false) | 537 | if (check(user, parcel, m_scene) == false) |
538 | { | 538 | { |
539 | return false; | 539 | return false; |
540 | } | 540 | } |
541 | } | 541 | } |
542 | return true; | 542 | return true; |
543 | } | 543 | } |
544 | #endregion | 544 | #endregion |
545 | 545 | ||
546 | #region SELL PARCEL | 546 | #region SELL PARCEL |
547 | public delegate bool CanSellParcel(LLUUID user, ILandObject parcel, Scene scene); | 547 | public delegate bool CanSellParcel(LLUUID user, ILandObject parcel, Scene scene); |
548 | private List<CanSellParcel> CanSellParcelCheckFunctions = new List<CanSellParcel>(); | 548 | private List<CanSellParcel> CanSellParcelCheckFunctions = new List<CanSellParcel>(); |
549 | 549 | ||
550 | public void addCheckSellParcel(CanSellParcel delegateFunc) | 550 | public void addCheckSellParcel(CanSellParcel delegateFunc) |
551 | { | 551 | { |
552 | if (!CanSellParcelCheckFunctions.Contains(delegateFunc)) | 552 | if (!CanSellParcelCheckFunctions.Contains(delegateFunc)) |
553 | CanSellParcelCheckFunctions.Add(delegateFunc); | 553 | CanSellParcelCheckFunctions.Add(delegateFunc); |
554 | } | 554 | } |
555 | public void removeCheckSellParcel(CanSellParcel delegateFunc) | 555 | public void removeCheckSellParcel(CanSellParcel delegateFunc) |
556 | { | 556 | { |
557 | if (CanSellParcelCheckFunctions.Contains(delegateFunc)) | 557 | if (CanSellParcelCheckFunctions.Contains(delegateFunc)) |
558 | CanSellParcelCheckFunctions.Remove(delegateFunc); | 558 | CanSellParcelCheckFunctions.Remove(delegateFunc); |
559 | } | 559 | } |
560 | 560 | ||
561 | public bool ExternalChecksCanSellParcel(LLUUID user, ILandObject parcel) | 561 | public bool ExternalChecksCanSellParcel(LLUUID user, ILandObject parcel) |
562 | { | 562 | { |
563 | foreach (CanSellParcel check in CanSellParcelCheckFunctions) | 563 | foreach (CanSellParcel check in CanSellParcelCheckFunctions) |
564 | { | 564 | { |
565 | if (check(user, parcel, m_scene) == false) | 565 | if (check(user, parcel, m_scene) == false) |
566 | { | 566 | { |
567 | return false; | 567 | return false; |
568 | } | 568 | } |
569 | } | 569 | } |
570 | return true; | 570 | return true; |
571 | } | 571 | } |
572 | #endregion | 572 | #endregion |
573 | 573 | ||
574 | #region ABANDON PARCEL | 574 | #region ABANDON PARCEL |
575 | public delegate bool CanAbandonParcel(LLUUID user, ILandObject parcel, Scene scene); | 575 | public delegate bool CanAbandonParcel(LLUUID user, ILandObject parcel, Scene scene); |
576 | private List<CanAbandonParcel> CanAbandonParcelCheckFunctions = new List<CanAbandonParcel>(); | 576 | private List<CanAbandonParcel> CanAbandonParcelCheckFunctions = new List<CanAbandonParcel>(); |
577 | 577 | ||
578 | public void addCheckAbandonParcel(CanAbandonParcel delegateFunc) | 578 | public void addCheckAbandonParcel(CanAbandonParcel delegateFunc) |
579 | { | 579 | { |
580 | if (!CanAbandonParcelCheckFunctions.Contains(delegateFunc)) | 580 | if (!CanAbandonParcelCheckFunctions.Contains(delegateFunc)) |
581 | CanAbandonParcelCheckFunctions.Add(delegateFunc); | 581 | CanAbandonParcelCheckFunctions.Add(delegateFunc); |
582 | } | 582 | } |
583 | public void removeCheckAbandonParcel(CanAbandonParcel delegateFunc) | 583 | public void removeCheckAbandonParcel(CanAbandonParcel delegateFunc) |
584 | { | 584 | { |
585 | if (CanAbandonParcelCheckFunctions.Contains(delegateFunc)) | 585 | if (CanAbandonParcelCheckFunctions.Contains(delegateFunc)) |
586 | CanAbandonParcelCheckFunctions.Remove(delegateFunc); | 586 | CanAbandonParcelCheckFunctions.Remove(delegateFunc); |
587 | } | 587 | } |
588 | 588 | ||
589 | public bool ExternalChecksCanAbandonParcel(LLUUID user, ILandObject parcel) | 589 | public bool ExternalChecksCanAbandonParcel(LLUUID user, ILandObject parcel) |
590 | { | 590 | { |
591 | foreach (CanAbandonParcel check in CanAbandonParcelCheckFunctions) | 591 | foreach (CanAbandonParcel check in CanAbandonParcelCheckFunctions) |
592 | { | 592 | { |
593 | if (check(user, parcel, m_scene) == false) | 593 | if (check(user, parcel, m_scene) == false) |
594 | { | 594 | { |
595 | return false; | 595 | return false; |
596 | } | 596 | } |
597 | } | 597 | } |
598 | return true; | 598 | return true; |
599 | } | 599 | } |
600 | #endregion | 600 | #endregion |
601 | #endregion | 601 | #endregion |
602 | 602 | ||
603 | 603 | ||
604 | } | 604 | } |
605 | } | 605 | } |