aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMelanie2011-10-11 23:16:19 +0100
committerMelanie2011-10-11 23:16:19 +0100
commit0ae63d0e8b84ffc107c56b5841a286c2b0bc9a94 (patch)
tree20b77d1ef422611b974c7a177cd532859356cd36 /OpenSim
parentMerge commit 'c7db3df3442657cda398ff2f90d387bce98c718a' into bigmerge (diff)
parentRemove OpenSim.Region.Examples.SimpleModule (diff)
downloadopensim-SC_OLD-0ae63d0e8b84ffc107c56b5841a286c2b0bc9a94.zip
opensim-SC_OLD-0ae63d0e8b84ffc107c56b5841a286c2b0bc9a94.tar.gz
opensim-SC_OLD-0ae63d0e8b84ffc107c56b5841a286c2b0bc9a94.tar.bz2
opensim-SC_OLD-0ae63d0e8b84ffc107c56b5841a286c2b0bc9a94.tar.xz
Merge commit '42fe774ad10d469c11fe58731fcab0e4df760871' into bigmerge
Conflicts: OpenSim/Region/Examples/SimpleModule/ComplexObject.cs OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Examples/SimpleModule/ComplexObject.cs131
-rw-r--r--OpenSim/Region/Examples/SimpleModule/CpuCounterObject.cs68
-rw-r--r--OpenSim/Region/Examples/SimpleModule/FileSystemObject.cs51
-rw-r--r--OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs1172
-rw-r--r--OpenSim/Region/Examples/SimpleModule/Properties/AssemblyInfo.cs62
-rw-r--r--OpenSim/Region/Examples/SimpleModule/README.txt9
-rw-r--r--OpenSim/Region/Examples/SimpleModule/RegionModule.cs147
7 files changed, 0 insertions, 1640 deletions
diff --git a/OpenSim/Region/Examples/SimpleModule/ComplexObject.cs b/OpenSim/Region/Examples/SimpleModule/ComplexObject.cs
deleted file mode 100644
index 7a0ce51..0000000
--- a/OpenSim/Region/Examples/SimpleModule/ComplexObject.cs
+++ /dev/null
@@ -1,131 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
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
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
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System.Collections.Generic;
29using OpenMetaverse;
30using OpenSim.Framework;
31using OpenSim.Region.Framework.Scenes;
32
33namespace OpenSim.Region.Examples.SimpleModule
34{
35 public class ComplexObject : SceneObjectGroup
36 {
37 private readonly Quaternion m_rotationDirection;
38
39 protected override bool InSceneBackup
40 {
41 get
42 {
43 return false;
44 }
45 }
46
47 private class RotatingWheel : SceneObjectPart
48 {
49 private readonly Quaternion m_rotationDirection;
50
51 public RotatingWheel()
52 {
53 }
54
55 public RotatingWheel(
56 UUID ownerID, Vector3 groupPosition, Vector3 offsetPosition, Quaternion rotationDirection)
57 : base(ownerID, PrimitiveBaseShape.Default, groupPosition, Quaternion.Identity, offsetPosition)
58 {
59 m_rotationDirection = rotationDirection;
60
61 Flags |= PrimFlags.Touch;
62 }
63
64 public override void UpdateMovement()
65 {
66 UpdateRotation(RotationOffset * m_rotationDirection);
67 }
68 }
69
70 public override void UpdateMovement()
71 {
72 UpdateGroupRotationR(GroupRotation * m_rotationDirection);
73
74 base.UpdateMovement();
75 }
76
77 public ComplexObject()
78 {
79 }
80
81 public ComplexObject(Scene scene, ulong regionHandle, UUID ownerID, uint localID, Vector3 pos)
82 : base(ownerID, pos, PrimitiveBaseShape.Default)
83 {
84 m_rotationDirection = new Quaternion(0.05f, 0.1f, 0.15f);
85
86 AddPart(
87 new RotatingWheel(ownerID, pos, new Vector3(0, 0, 0.75f),
88 new Quaternion(0.05f, 0, 0)));
89 AddPart(
90 new RotatingWheel(ownerID, pos, new Vector3(0, 0, -0.75f),
91 new Quaternion(-0.05f, 0, 0)));
92
93 AddPart(
94 new RotatingWheel(ownerID, pos, new Vector3(0, 0.75f, 0),
95 new Quaternion(0.5f, 0, 0.05f)));
96 AddPart(
97 new RotatingWheel(ownerID, pos, new Vector3(0, -0.75f, 0),
98 new Quaternion(-0.5f, 0, -0.05f)));
99
100 AddPart(
101 new RotatingWheel(ownerID, pos, new Vector3(0.75f, 0, 0),
102 new Quaternion(0, 0.5f, 0.05f)));
103 AddPart(
104 new RotatingWheel(ownerID, pos, new Vector3(-0.75f, 0, 0),
105 new Quaternion(0, -0.5f, -0.05f)));
106
107 RootPart.Flags |= PrimFlags.Touch;
108 }
109
110 public override void OnGrabPart(SceneObjectPart part, Vector3 offsetPos, IClientAPI remoteClient)
111 {
112 m_parts.Remove(part.UUID);
113
114 remoteClient.SendKillObject(m_regionHandle, new List<uint>() { part.LocalId} );
115 remoteClient.AddMoney(1);
116 remoteClient.SendChatMessage("Poof!", 1, AbsolutePosition, "Party Party", UUID.Zero, (byte)ChatSourceType.Object, (byte)ChatAudibleLevel.Fully);
117 }
118
119 public override void OnGrabGroup(Vector3 offsetPos, IClientAPI remoteClient)
120 {
121 if (m_parts.Count == 1)
122 {
123 m_parts.Remove(m_rootPart.UUID);
124 m_scene.DeleteSceneObject(this, false);
125 remoteClient.SendKillObject(m_regionHandle, new List<uint>() { m_rootPart.LocalId });
126 remoteClient.AddMoney(50);
127 remoteClient.SendChatMessage("KABLAM!!!", 1, AbsolutePosition, "Groupie Groupie", UUID.Zero, (byte)ChatSourceType.Object, (byte)ChatAudibleLevel.Fully);
128 }
129 }
130 }
131}
diff --git a/OpenSim/Region/Examples/SimpleModule/CpuCounterObject.cs b/OpenSim/Region/Examples/SimpleModule/CpuCounterObject.cs
deleted file mode 100644
index 8669139..0000000
--- a/OpenSim/Region/Examples/SimpleModule/CpuCounterObject.cs
+++ /dev/null
@@ -1,68 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
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
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
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using System.Diagnostics;
30using OpenMetaverse;
31using OpenSim.Framework;
32using OpenSim.Region.Framework.Scenes;
33
34namespace OpenSim.Region.Examples.SimpleModule
35{
36 public class CpuCounterObject : SceneObjectGroup
37 {
38 protected override bool InSceneBackup
39 {
40 get
41 {
42 return false;
43 }
44 }
45
46 private PerformanceCounter m_counter;
47
48 public CpuCounterObject(UUID ownerID, Vector3 pos)
49 : base(ownerID, pos, PrimitiveBaseShape.Default)
50 {
51 String objectName = "Processor";
52 String counterName = "% Processor Time";
53 String instanceName = "_Total";
54
55 m_counter = new PerformanceCounter(objectName, counterName, instanceName);
56 }
57
58 public override void UpdateMovement()
59 {
60 float cpu = m_counter.NextValue()/40f;
61 Vector3 size = new Vector3(cpu, cpu, cpu);
62
63 RootPart.Resize(size);
64
65 base.UpdateMovement();
66 }
67 }
68}
diff --git a/OpenSim/Region/Examples/SimpleModule/FileSystemObject.cs b/OpenSim/Region/Examples/SimpleModule/FileSystemObject.cs
deleted file mode 100644
index f0f684c..0000000
--- a/OpenSim/Region/Examples/SimpleModule/FileSystemObject.cs
+++ /dev/null
@@ -1,51 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
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
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
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System.IO;
29using OpenMetaverse;
30using OpenSim.Framework;
31using OpenSim.Region.Framework.Scenes;
32
33namespace OpenSim.Region.Examples.SimpleModule
34{
35 public class FileSystemObject : SceneObjectGroup
36 {
37 public FileSystemObject(FileInfo fileInfo, Vector3 pos)
38 : base(UUID.Zero, pos, PrimitiveBaseShape.Default)
39 {
40 Text = fileInfo.Name;
41 }
42
43 protected override bool InSceneBackup
44 {
45 get
46 {
47 return false;
48 }
49 }
50 }
51}
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
deleted file mode 100644
index 54c1c21..0000000
--- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
+++ /dev/null
@@ -1,1172 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
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
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
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using System.Collections.Generic;
30using System.Net;
31using OpenMetaverse;
32using OpenMetaverse.Packets;
33using OpenSim.Framework;
34using OpenSim.Region.Framework.Scenes;
35
36namespace OpenSim.Region.Examples.SimpleModule
37{
38 public class MyNpcCharacter : IClientAPI
39 {
40 private uint movementFlag = 0;
41 private short flyState = 0;
42 private Quaternion bodyDirection = Quaternion.Identity;
43 private short count = 0;
44 private short frame = 0;
45 private Scene m_scene;
46
47// disable warning: public events, part of the public API
48#pragma warning disable 67
49
50 public event Action<IClientAPI> OnLogout;
51 public event ObjectPermissions OnObjectPermissions;
52
53 public event MoneyTransferRequest OnMoneyTransferRequest;
54 public event ParcelBuy OnParcelBuy;
55 public event Action<IClientAPI> OnConnectionClosed;
56
57 public event ImprovedInstantMessage OnInstantMessage;
58 public event ChatMessage OnChatFromClient;
59 public event TextureRequest OnRequestTexture;
60 public event RezObject OnRezObject;
61 public event ModifyTerrain OnModifyTerrain;
62 public event BakeTerrain OnBakeTerrain;
63 public event SetAppearance OnSetAppearance;
64 public event AvatarNowWearing OnAvatarNowWearing;
65 public event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv;
66 public event RezMultipleAttachmentsFromInv OnRezMultipleAttachmentsFromInv;
67 public event UUIDNameRequest OnDetachAttachmentIntoInv;
68 public event ObjectAttach OnObjectAttach;
69 public event ObjectDeselect OnObjectDetach;
70 public event ObjectDrop OnObjectDrop;
71 public event StartAnim OnStartAnim;
72 public event StopAnim OnStopAnim;
73 public event LinkObjects OnLinkObjects;
74 public event DelinkObjects OnDelinkObjects;
75 public event RequestMapBlocks OnRequestMapBlocks;
76 public event RequestMapName OnMapNameRequest;
77 public event TeleportLocationRequest OnTeleportLocationRequest;
78 public event TeleportLandmarkRequest OnTeleportLandmarkRequest;
79 public event DisconnectUser OnDisconnectUser;
80 public event RequestAvatarProperties OnRequestAvatarProperties;
81 public event SetAlwaysRun OnSetAlwaysRun;
82 public event MoveItemsAndLeaveCopy OnMoveItemsAndLeaveCopy;
83 public event DeRezObject OnDeRezObject;
84 public event Action<IClientAPI> OnRegionHandShakeReply;
85 public event GenericCall1 OnRequestWearables;
86 public event Action<IClientAPI, bool> OnCompleteMovementToRegion;
87 public event UpdateAgent OnPreAgentUpdate;
88 public event UpdateAgent OnAgentUpdate;
89 public event AgentRequestSit OnAgentRequestSit;
90 public event AgentSit OnAgentSit;
91 public event AvatarPickerRequest OnAvatarPickerRequest;
92 public event Action<IClientAPI> OnRequestAvatarsData;
93 public event AddNewPrim OnAddPrim;
94 public event RequestGodlikePowers OnRequestGodlikePowers;
95 public event GodKickUser OnGodKickUser;
96 public event ObjectDuplicate OnObjectDuplicate;
97 public event GrabObject OnGrabObject;
98 public event DeGrabObject OnDeGrabObject;
99 public event MoveObject OnGrabUpdate;
100 public event SpinStart OnSpinStart;
101 public event SpinObject OnSpinUpdate;
102 public event SpinStop OnSpinStop;
103 public event ViewerEffectEventHandler OnViewerEffect;
104
105 public event FetchInventory OnAgentDataUpdateRequest;
106 public event TeleportLocationRequest OnSetStartLocationRequest;
107
108 public event UpdateShape OnUpdatePrimShape;
109 public event ObjectExtraParams OnUpdateExtraParams;
110 public event RequestObjectPropertiesFamily OnRequestObjectPropertiesFamily;
111 public event ObjectRequest OnObjectRequest;
112 public event ObjectSelect OnObjectSelect;
113 public event GenericCall7 OnObjectDescription;
114 public event GenericCall7 OnObjectName;
115 public event GenericCall7 OnObjectClickAction;
116 public event GenericCall7 OnObjectMaterial;
117 public event UpdatePrimFlags OnUpdatePrimFlags;
118 public event UpdatePrimTexture OnUpdatePrimTexture;
119 public event UpdateVector OnUpdatePrimGroupPosition;
120 public event UpdateVector OnUpdatePrimSinglePosition;
121 public event UpdatePrimRotation OnUpdatePrimGroupRotation;
122 public event UpdatePrimSingleRotationPosition OnUpdatePrimSingleRotationPosition;
123 public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
124 public event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation;
125 public event UpdateVector OnUpdatePrimScale;
126 public event UpdateVector OnUpdatePrimGroupScale;
127 public event StatusChange OnChildAgentStatus;
128 public event GenericCall2 OnStopMovement;
129 public event Action<UUID> OnRemoveAvatar;
130
131 public event CreateNewInventoryItem OnCreateNewInventoryItem;
132 public event LinkInventoryItem OnLinkInventoryItem;
133 public event CreateInventoryFolder OnCreateNewInventoryFolder;
134 public event UpdateInventoryFolder OnUpdateInventoryFolder;
135 public event MoveInventoryFolder OnMoveInventoryFolder;
136 public event RemoveInventoryFolder OnRemoveInventoryFolder;
137 public event RemoveInventoryItem OnRemoveInventoryItem;
138 public event FetchInventoryDescendents OnFetchInventoryDescendents;
139 public event PurgeInventoryDescendents OnPurgeInventoryDescendents;
140 public event FetchInventory OnFetchInventory;
141 public event RequestTaskInventory OnRequestTaskInventory;
142 public event UpdateInventoryItem OnUpdateInventoryItem;
143 public event CopyInventoryItem OnCopyInventoryItem;
144 public event MoveInventoryItem OnMoveInventoryItem;
145 public event UDPAssetUploadRequest OnAssetUploadRequest;
146 public event RequestTerrain OnRequestTerrain;
147 public event RequestTerrain OnUploadTerrain;
148 public event XferReceive OnXferReceive;
149 public event RequestXfer OnRequestXfer;
150 public event ConfirmXfer OnConfirmXfer;
151 public event AbortXfer OnAbortXfer;
152 public event RezScript OnRezScript;
153 public event UpdateTaskInventory OnUpdateTaskInventory;
154 public event MoveTaskInventory OnMoveTaskItem;
155 public event RemoveTaskInventory OnRemoveTaskItem;
156 public event RequestAsset OnRequestAsset;
157 public event GenericMessage OnGenericMessage;
158 public event UUIDNameRequest OnNameFromUUIDRequest;
159 public event UUIDNameRequest OnUUIDGroupNameRequest;
160
161 public event ParcelPropertiesRequest OnParcelPropertiesRequest;
162 public event ParcelDivideRequest OnParcelDivideRequest;
163 public event ParcelJoinRequest OnParcelJoinRequest;
164 public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
165 public event ParcelAbandonRequest OnParcelAbandonRequest;
166 public event ParcelGodForceOwner OnParcelGodForceOwner;
167 public event ParcelReclaim OnParcelReclaim;
168 public event ParcelReturnObjectsRequest OnParcelReturnObjectsRequest;
169 public event ParcelAccessListRequest OnParcelAccessListRequest;
170 public event ParcelAccessListUpdateRequest OnParcelAccessListUpdateRequest;
171 public event ParcelSelectObjects OnParcelSelectObjects;
172 public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
173 public event ParcelDeedToGroup OnParcelDeedToGroup;
174 public event ObjectDeselect OnObjectDeselect;
175 public event RegionInfoRequest OnRegionInfoRequest;
176 public event EstateCovenantRequest OnEstateCovenantRequest;
177 public event EstateChangeInfo OnEstateChangeInfo;
178
179 public event ObjectDuplicateOnRay OnObjectDuplicateOnRay;
180
181 public event FriendActionDelegate OnApproveFriendRequest;
182 public event FriendActionDelegate OnDenyFriendRequest;
183 public event FriendshipTermination OnTerminateFriendship;
184 public event GrantUserFriendRights OnGrantUserRights;
185
186 public event EconomyDataRequest OnEconomyDataRequest;
187 public event MoneyBalanceRequest OnMoneyBalanceRequest;
188 public event UpdateAvatarProperties OnUpdateAvatarProperties;
189
190 public event ObjectIncludeInSearch OnObjectIncludeInSearch;
191 public event UUIDNameRequest OnTeleportHomeRequest;
192
193 public event ScriptAnswer OnScriptAnswer;
194 public event RequestPayPrice OnRequestPayPrice;
195 public event ObjectSaleInfo OnObjectSaleInfo;
196 public event ObjectBuy OnObjectBuy;
197 public event BuyObjectInventory OnBuyObjectInventory;
198 public event AgentSit OnUndo;
199 public event AgentSit OnRedo;
200 public event LandUndo OnLandUndo;
201
202 public event ForceReleaseControls OnForceReleaseControls;
203
204 public event GodLandStatRequest OnLandStatRequest;
205 public event RequestObjectPropertiesFamily OnObjectGroupRequest;
206
207 public event DetailedEstateDataRequest OnDetailedEstateDataRequest;
208 public event SetEstateFlagsRequest OnSetEstateFlagsRequest;
209 public event SetEstateTerrainBaseTexture OnSetEstateTerrainBaseTexture;
210 public event SetEstateTerrainDetailTexture OnSetEstateTerrainDetailTexture;
211 public event SetEstateTerrainTextureHeights OnSetEstateTerrainTextureHeights;
212 public event CommitEstateTerrainTextureRequest OnCommitEstateTerrainTextureRequest;
213 public event SetRegionTerrainSettings OnSetRegionTerrainSettings;
214 public event EstateRestartSimRequest OnEstateRestartSimRequest;
215 public event EstateChangeCovenantRequest OnEstateChangeCovenantRequest;
216 public event UpdateEstateAccessDeltaRequest OnUpdateEstateAccessDeltaRequest;
217 public event SimulatorBlueBoxMessageRequest OnSimulatorBlueBoxMessageRequest;
218 public event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest;
219 public event EstateDebugRegionRequest OnEstateDebugRegionRequest;
220 public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest;
221 public event EstateTeleportAllUsersHomeRequest OnEstateTeleportAllUsersHomeRequest;
222 public event ScriptReset OnScriptReset;
223 public event GetScriptRunning OnGetScriptRunning;
224 public event SetScriptRunning OnSetScriptRunning;
225 public event Action<Vector3, bool, bool> OnAutoPilotGo;
226
227 public event TerrainUnacked OnUnackedTerrain;
228
229 public event RegionHandleRequest OnRegionHandleRequest;
230 public event ParcelInfoRequest OnParcelInfoRequest;
231
232 public event ActivateGesture OnActivateGesture;
233 public event DeactivateGesture OnDeactivateGesture;
234 public event ObjectOwner OnObjectOwner;
235
236 public event DirPlacesQuery OnDirPlacesQuery;
237 public event DirFindQuery OnDirFindQuery;
238 public event DirLandQuery OnDirLandQuery;
239 public event DirPopularQuery OnDirPopularQuery;
240 public event DirClassifiedQuery OnDirClassifiedQuery;
241 public event EventInfoRequest OnEventInfoRequest;
242 public event ParcelSetOtherCleanTime OnParcelSetOtherCleanTime;
243
244 public event MapItemRequest OnMapItemRequest;
245
246 public event OfferCallingCard OnOfferCallingCard;
247 public event AcceptCallingCard OnAcceptCallingCard;
248 public event DeclineCallingCard OnDeclineCallingCard;
249 public event SoundTrigger OnSoundTrigger;
250
251 public event StartLure OnStartLure;
252 public event TeleportLureRequest OnTeleportLureRequest;
253 public event NetworkStats OnNetworkStatsUpdate;
254
255 public event ClassifiedInfoRequest OnClassifiedInfoRequest;
256 public event ClassifiedInfoUpdate OnClassifiedInfoUpdate;
257 public event ClassifiedDelete OnClassifiedDelete;
258 public event ClassifiedGodDelete OnClassifiedGodDelete;
259
260 public event EventNotificationAddRequest OnEventNotificationAddRequest;
261 public event EventNotificationRemoveRequest OnEventNotificationRemoveRequest;
262 public event EventGodDelete OnEventGodDelete;
263
264 public event ParcelDwellRequest OnParcelDwellRequest;
265 public event UserInfoRequest OnUserInfoRequest;
266 public event UpdateUserInfo OnUpdateUserInfo;
267
268 public event RetrieveInstantMessages OnRetrieveInstantMessages;
269
270 public event PickDelete OnPickDelete;
271 public event PickGodDelete OnPickGodDelete;
272 public event PickInfoUpdate OnPickInfoUpdate;
273 public event AvatarNotesUpdate OnAvatarNotesUpdate;
274
275 public event MuteListRequest OnMuteListRequest;
276
277 public event AvatarInterestUpdate OnAvatarInterestUpdate;
278
279 public event PlacesQuery OnPlacesQuery;
280
281 public event FindAgentUpdate OnFindAgent;
282 public event TrackAgentUpdate OnTrackAgent;
283 public event NewUserReport OnUserReport;
284 public event SaveStateHandler OnSaveState;
285 public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
286 public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
287 public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
288 public event FreezeUserUpdate OnParcelFreezeUser;
289 public event EjectUserUpdate OnParcelEjectUser;
290 public event ParcelBuyPass OnParcelBuyPass;
291 public event ParcelGodMark OnParcelGodMark;
292 public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
293 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
294 public event SimWideDeletesDelegate OnSimWideDeletes;
295 public event SendPostcard OnSendPostcard;
296 public event MuteListEntryUpdate OnUpdateMuteListEntry;
297 public event MuteListEntryRemove OnRemoveMuteListEntry;
298 public event GodlikeMessage onGodlikeMessage;
299 public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdate;
300
301#pragma warning restore 67
302
303 private UUID myID = UUID.Random();
304
305 public MyNpcCharacter(Scene scene)
306 {
307
308 // startPos = new Vector3(128, (float)(Util.RandomClass.NextDouble()*100), 2);
309 m_scene = scene;
310 m_scene.EventManager.OnFrame += Update;
311 }
312
313 private Vector3 startPos = new Vector3(128, 128, 30);
314
315 public virtual Vector3 StartPos
316 {
317 get { return startPos; }
318 set { }
319 }
320
321 public virtual UUID AgentId
322 {
323 get { return myID; }
324 }
325
326 public UUID SessionId
327 {
328 get { return UUID.Zero; }
329 }
330
331 public UUID SecureSessionId
332 {
333 get { return UUID.Zero; }
334 }
335
336 public virtual string FirstName
337 {
338 get { return "Only"; }
339 }
340
341 private string lastName = "Today" + Util.RandomClass.Next(1, 1000);
342
343 public virtual string LastName
344 {
345 get { return lastName; }
346 }
347
348 public virtual String Name
349 {
350 get { return FirstName + LastName; }
351 }
352
353 public bool IsActive
354 {
355 get { return true; }
356 set { }
357 }
358 public bool IsLoggingOut
359 {
360 get { return false; }
361 set { }
362 }
363 public UUID ActiveGroupId
364 {
365 get { return UUID.Zero; }
366 }
367
368 public string ActiveGroupName
369 {
370 get { return String.Empty; }
371 }
372
373 public ulong ActiveGroupPowers
374 {
375 get { return 0; }
376 }
377
378 public bool IsGroupMember(UUID groupID)
379 {
380 return false;
381 }
382
383 public ulong GetGroupPowers(UUID groupID)
384 {
385 return 0;
386 }
387
388 public virtual int NextAnimationSequenceNumber
389 {
390 get { return 1; }
391 }
392
393 public IScene Scene
394 {
395 get { return m_scene; }
396 }
397
398 public bool SendLogoutPacketWhenClosing
399 {
400 set { }
401 }
402
403 public virtual void ActivateGesture(UUID assetId, UUID gestureId)
404 {
405 }
406
407 public virtual void SendWearables(AvatarWearable[] wearables, int serial)
408 {
409 }
410
411 public virtual void SendAppearance(UUID agentID, byte[] visualParams, byte[] textureEntry)
412 {
413 }
414
415 public virtual void Kick(string message)
416 {
417 }
418
419 public virtual void SendStartPingCheck(byte seq)
420 {
421 }
422
423 public virtual void SendAvatarPickerReply(AvatarPickerReplyAgentDataArgs AgentData, List<AvatarPickerReplyDataArgs> Data)
424 {
425 }
426
427 public virtual void SendAgentDataUpdate(UUID agentid, UUID activegroupid, string firstname, string lastname, ulong grouppowers, string groupname, string grouptitle)
428 {
429
430 }
431
432 public virtual void SendKillObject(ulong regionHandle, List<uint> localID)
433 {
434 }
435
436 public virtual void SetChildAgentThrottle(byte[] throttle)
437 {
438 }
439 public byte[] GetThrottlesPacked(float multiplier)
440 {
441 return new byte[0];
442 }
443
444
445 public virtual void SendAnimations(UUID[] animations, int[] seqs, UUID sourceAgentId, UUID[] objectIDs)
446 {
447 }
448
449 public virtual void SendChatMessage(string message, byte type, Vector3 fromPos, string fromName,
450 UUID fromAgentID, byte source, byte audible)
451 {
452 }
453
454 public virtual void SendChatMessage(byte[] message, byte type, Vector3 fromPos, string fromName,
455 UUID fromAgentID, byte source, byte audible)
456 {
457 }
458
459 public void SendInstantMessage(GridInstantMessage im)
460 {
461
462 }
463
464 public void SendGenericMessage(string method, List<string> message)
465 {
466 }
467
468 public void SendGenericMessage(string method, List<byte[]> message)
469 {
470
471 }
472
473 public virtual void SendLayerData(float[] map)
474 {
475 }
476
477 public virtual void SendLayerData(int px, int py, float[] map)
478 {
479 }
480 public virtual void SendLayerData(int px, int py, float[] map, bool track)
481 {
482 }
483
484 public virtual void SendWindData(Vector2[] windSpeeds) { }
485
486 public virtual void SendCloudData(float[] cloudCover) { }
487
488 public virtual void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look)
489 {
490 }
491
492 public virtual void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint)
493 {
494 }
495
496 public virtual AgentCircuitData RequestClientInfo()
497 {
498 return new AgentCircuitData();
499 }
500
501 public virtual void CrossRegion(ulong newRegionHandle, Vector3 pos, Vector3 lookAt,
502 IPEndPoint newRegionExternalEndPoint, string capsURL)
503 {
504 }
505
506 public virtual void SendMapBlock(List<MapBlockData> mapBlocks, uint flag)
507 {
508 }
509
510 public virtual void SendLocalTeleport(Vector3 position, Vector3 lookAt, uint flags)
511 {
512 }
513
514 public virtual void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint,
515 uint locationID, uint flags, string capsURL)
516 {
517 }
518
519 public virtual void SendTeleportFailed(string reason)
520 {
521 }
522
523 public virtual void SendTeleportStart(uint flags)
524 {
525 }
526
527 public virtual void SendTeleportProgress(uint flags, string message)
528 {
529 }
530
531 public virtual void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance)
532 {
533 }
534
535 public virtual void SendPayPrice(UUID objectID, int[] payPrice)
536 {
537 }
538
539 public virtual void SendCoarseLocationUpdate(List<UUID> users, List<Vector3> CoarseLocations)
540 {
541 }
542
543 public virtual void SendDialog(string objectname, UUID objectID, UUID ownerID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels)
544 {
545 }
546
547 public void SendAvatarDataImmediate(ISceneEntity avatar)
548 {
549 }
550
551 public void SendPrimUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags)
552 {
553 }
554
555 public void ReprioritizeUpdates()
556 {
557 }
558
559 public void FlushPrimUpdates()
560 {
561 }
562
563 public virtual void SendInventoryFolderDetails(UUID ownerID, UUID folderID,
564 List<InventoryItemBase> items,
565 List<InventoryFolderBase> folders,
566 int version,
567 bool fetchFolders,
568 bool fetchItems)
569 {
570 }
571
572 public virtual void SendInventoryItemDetails(UUID ownerID, InventoryItemBase item)
573 {
574 }
575
576 public virtual void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackID)
577 {
578 }
579
580 public virtual void SendRemoveInventoryItem(UUID itemID)
581 {
582 }
583
584 public virtual void SendBulkUpdateInventory(InventoryNodeBase node)
585 {
586 }
587
588 public UUID GetDefaultAnimation(string name)
589 {
590 return UUID.Zero;
591 }
592
593 public void SendTakeControls(int controls, bool passToAgent, bool TakeControls)
594 {
595 }
596
597 public virtual void SendTaskInventory(UUID taskID, short serial, byte[] fileName)
598 {
599 }
600
601 public virtual void SendXferPacket(ulong xferID, uint packet, byte[] data)
602 {
603 }
604
605 public virtual void SendAbortXferPacket(ulong xferID)
606 {
607
608 }
609
610
611 public virtual void SendEconomyData(float EnergyEfficiency, int ObjectCapacity, int ObjectCount, int PriceEnergyUnit,
612 int PriceGroupCreate, int PriceObjectClaim, float PriceObjectRent, float PriceObjectScaleFactor,
613 int PriceParcelClaim, float PriceParcelClaimFactor, int PriceParcelRent, int PricePublicObjectDecay,
614 int PricePublicObjectDelete, int PriceRentLight, int PriceUpload, int TeleportMinPrice, float TeleportPriceExponent)
615 {
616
617 }
618 public virtual void SendNameReply(UUID profileId, string firstname, string lastname)
619 {
620 }
621
622 public virtual void SendPreLoadSound(UUID objectID, UUID ownerID, UUID soundID)
623 {
624 }
625
626 public virtual void SendPlayAttachedSound(UUID soundID, UUID objectID, UUID ownerID, float gain,
627 byte flags)
628 {
629 }
630
631 public void SendTriggeredSound(UUID soundID, UUID ownerID, UUID objectID, UUID parentID, ulong handle, Vector3 position, float gain)
632 {
633 }
634
635 public void SendAttachedSoundGainChange(UUID objectID, float gain)
636 {
637
638 }
639
640 public void SendAlertMessage(string message)
641 {
642 }
643
644 public void SendAgentAlertMessage(string message, bool modal)
645 {
646 }
647
648 public void SendSystemAlertMessage(string message)
649 {
650 }
651
652 public void SendLoadURL(string objectname, UUID objectID, UUID ownerID, bool groupOwned, string message,
653 string url)
654 {
655 }
656
657 public virtual void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args)
658 {
659 if (OnRegionHandShakeReply != null)
660 {
661 OnRegionHandShakeReply(this);
662 }
663
664 if (OnCompleteMovementToRegion != null)
665 {
666 OnCompleteMovementToRegion(this, true);
667 }
668 }
669 public void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, UUID AssetFullID)
670 {
671 }
672
673 public void SendConfirmXfer(ulong xferID, uint PacketID)
674 {
675 }
676
677 public void SendXferRequest(ulong XferID, short AssetType, UUID vFileID, byte FilePath, byte[] FileName)
678 {
679 }
680
681 public void SendInitiateDownload(string simFileName, string clientFileName)
682 {
683 }
684
685 public void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec)
686 {
687 }
688
689 public void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData)
690 {
691 }
692
693 public void SendImageNotFound(UUID imageid)
694 {
695 }
696
697 public void SendShutdownConnectionNotice()
698 {
699 }
700
701 public void SendSimStats(SimStats stats)
702 {
703 }
704
705 public void SendObjectPropertiesFamilyData(ISceneEntity Entity, uint RequestFlags)
706 {
707
708 }
709
710 public void SendObjectPropertiesReply(ISceneEntity entity)
711 {
712 }
713
714 public void SendAgentOffline(UUID[] agentIDs)
715 {
716
717 }
718
719 public void SendAgentOnline(UUID[] agentIDs)
720 {
721
722 }
723
724 public void SendSitResponse(UUID TargetID, Vector3 OffsetPos, Quaternion SitOrientation, bool autopilot,
725 Vector3 CameraAtOffset, Vector3 CameraEyeOffset, bool ForceMouseLook)
726 {
727 }
728
729 public void SendAdminResponse(UUID Token, uint AdminLevel)
730 {
731
732 }
733
734 public void SendGroupMembership(GroupMembershipData[] GroupMembership)
735 {
736
737 }
738
739 private void Update()
740 {
741 frame++;
742 if (frame > 20)
743 {
744 frame = 0;
745 if (OnAgentUpdate != null)
746 {
747 AgentUpdateArgs pack = new AgentUpdateArgs();
748 pack.ControlFlags = movementFlag;
749 pack.BodyRotation = bodyDirection;
750
751 OnAgentUpdate(this, pack);
752 }
753 if (flyState == 0)
754 {
755 movementFlag = (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY |
756 (uint)AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG;
757 flyState = 1;
758 }
759 else if (flyState == 1)
760 {
761 movementFlag = (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY |
762 (uint)AgentManager.ControlFlags.AGENT_CONTROL_UP_POS;
763 flyState = 2;
764 }
765 else
766 {
767 movementFlag = (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY;
768 flyState = 0;
769 }
770
771 if (count >= 10)
772 {
773 if (OnChatFromClient != null)
774 {
775 OSChatMessage args = new OSChatMessage();
776 args.Message = "Hey You! Get out of my Home. This is my Region";
777 args.Channel = 0;
778 args.From = FirstName + " " + LastName;
779 args.Scene = m_scene;
780 args.Position = new Vector3(128, 128, 26);
781 args.Sender = this;
782 args.Type = ChatTypeEnum.Shout;
783
784 OnChatFromClient(this, args);
785 }
786 count = -1;
787 }
788
789 count++;
790 }
791 }
792
793 public bool AddMoney(int debit)
794 {
795 return false;
796 }
797
798 public void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong time, uint dlen, uint ylen, float phase)
799 {
800 }
801
802 public void SendViewerEffect(ViewerEffectPacket.EffectBlock[] effectBlocks)
803 {
804 }
805
806 public void SendViewerTime(int phase)
807 {
808 }
809
810 public void SendAvatarProperties(UUID avatarID, string aboutText, string bornOn, Byte[] charterMember,
811 string flAbout, uint flags, UUID flImageID, UUID imageID, string profileURL,
812 UUID partnerID)
813 {
814 }
815
816 public void SetDebugPacketLevel(int newDebug)
817 {
818 }
819
820 public void InPacket(object NewPack)
821 {
822 }
823
824 public void ProcessInPacket(Packet NewPack)
825 {
826 }
827
828 public void Close()
829 {
830 Close(true);
831 }
832
833 public void Close(bool sendStop)
834 {
835 }
836
837 public void Start()
838 {
839 }
840
841 public void Stop()
842 {
843 }
844
845 private uint m_circuitCode;
846
847 public uint CircuitCode
848 {
849 get { return m_circuitCode; }
850 set { m_circuitCode = value; }
851 }
852
853 public IPEndPoint RemoteEndPoint
854 {
855 get { return new IPEndPoint(IPAddress.Loopback, (ushort)m_circuitCode); }
856 }
857
858 public void SendBlueBoxMessage(UUID FromAvatarID, String FromAvatarName, String Message)
859 {
860
861 }
862 public void SendLogoutPacket()
863 {
864 }
865
866 public void Terminate()
867 {
868 }
869
870 public EndPoint GetClientEP()
871 {
872 return null;
873 }
874
875 public ClientInfo GetClientInfo()
876 {
877 return null;
878 }
879
880 public void SetClientInfo(ClientInfo info)
881 {
882 }
883
884 public void SendScriptQuestion(UUID objectID, string taskName, string ownerName, UUID itemID, int question)
885 {
886 }
887 public void SendHealth(float health)
888 {
889 }
890
891 public void SendEstateList(UUID invoice, int code, UUID[] Data, uint estateID)
892 {
893 }
894
895 public void SendBannedUserList(UUID invoice, EstateBan[] banlist, uint estateID)
896 {
897 }
898
899 public void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args)
900 {
901 }
902
903 public void SendEstateCovenantInformation(UUID covenant)
904 {
905 }
906
907 public void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, string abuseEmail, UUID estateOwner)
908 {
909 }
910
911 public void SendLandProperties(int sequence_id, bool snap_selection, int request_result, ILandObject lo, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags)
912 {
913 }
914
915 public void SendLandAccessListData(List<UUID> avatars, uint accessFlag, int localLandID)
916 {
917 }
918
919 public void SendForceClientSelectObjects(List<uint> objectIDs)
920 {
921 }
922
923 public void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount)
924 {
925 }
926
927 public void SendCameraConstraint(Vector4 ConstraintPlane)
928 {
929
930 }
931
932 public void SendLandParcelOverlay(byte[] data, int sequence_id)
933 {
934 }
935
936 public void SendParcelMediaCommand(uint flags, ParcelMediaCommandEnum command, float time)
937 {
938 }
939
940 public void SendParcelMediaUpdate(string mediaUrl, UUID mediaTextureID, byte autoScale, string mediaType,
941 string mediaDesc, int mediaWidth, int mediaHeight, byte mediaLoop)
942 {
943 }
944
945 public void SendGroupNameReply(UUID groupLLUID, string GroupName)
946 {
947 }
948
949 public void SendLandStatReply(uint reportType, uint requestFlags, uint resultCount, LandStatReportItem[] lsrpia)
950 {
951 }
952
953 public void SendScriptRunningReply(UUID objectID, UUID itemID, bool running)
954 {
955 }
956
957 public void SendAsset(AssetRequestToClient req)
958 {
959 }
960
961 public void SendTexture(AssetBase TextureAsset)
962 {
963
964 }
965
966 public void SendSetFollowCamProperties (UUID objectID, SortedDictionary<int, float> parameters)
967 {
968 }
969
970 public void SendClearFollowCamProperties (UUID objectID)
971 {
972 }
973
974 public void SendRegionHandle (UUID regoinID, ulong handle)
975 {
976 }
977
978 public void SendParcelInfo (RegionInfo info, LandData land, UUID parcelID, uint x, uint y)
979 {
980 }
981
982 public void SetClientOption(string option, string value)
983 {
984 }
985
986 public string GetClientOption(string option)
987 {
988 return string.Empty;
989 }
990
991 public void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt)
992 {
993 }
994
995 public void SendDirPlacesReply(UUID queryID, DirPlacesReplyData[] data)
996 {
997 }
998
999 public void SendDirPeopleReply(UUID queryID, DirPeopleReplyData[] data)
1000 {
1001 }
1002
1003 public void SendDirEventsReply(UUID queryID, DirEventsReplyData[] data)
1004 {
1005 }
1006
1007 public void SendDirGroupsReply(UUID queryID, DirGroupsReplyData[] data)
1008 {
1009 }
1010
1011 public void SendDirClassifiedReply(UUID queryID, DirClassifiedReplyData[] data)
1012 {
1013 }
1014
1015 public void SendDirLandReply(UUID queryID, DirLandReplyData[] data)
1016 {
1017 }
1018
1019 public void SendDirPopularReply(UUID queryID, DirPopularReplyData[] data)
1020 {
1021 }
1022
1023 public void SendMapItemReply(mapItemReply[] replies, uint mapitemtype, uint flags)
1024 {
1025 }
1026
1027 public void KillEndDone()
1028 {
1029 }
1030
1031 public void SendEventInfoReply (EventData info)
1032 {
1033 }
1034
1035 public void SendOfferCallingCard (UUID destID, UUID transactionID)
1036 {
1037 }
1038
1039 public void SendAcceptCallingCard (UUID transactionID)
1040 {
1041 }
1042
1043 public void SendDeclineCallingCard (UUID transactionID)
1044 {
1045 }
1046
1047 public void SendAvatarGroupsReply(UUID avatarID, GroupMembershipData[] data)
1048 {
1049 }
1050
1051 public void SendJoinGroupReply(UUID groupID, bool success)
1052 {
1053 }
1054
1055 public void SendEjectGroupMemberReply(UUID agentID, UUID groupID, bool succss)
1056 {
1057 }
1058
1059 public void SendLeaveGroupReply(UUID groupID, bool success)
1060 {
1061 }
1062
1063 public void SendTerminateFriend(UUID exFriendID)
1064 {
1065 }
1066
1067 #region IClientAPI Members
1068
1069
1070 public bool AddGenericPacketHandler(string MethodName, GenericMessage handler)
1071 {
1072 return true;
1073 }
1074
1075 public void SendAvatarClassifiedReply(UUID targetID, UUID[] classifiedID, string[] name)
1076 {
1077 }
1078
1079 public void SendClassifiedInfoReply(UUID classifiedID, UUID creatorID, uint creationDate, uint expirationDate, uint category, string name, string description, UUID parcelID, uint parentEstate, UUID snapshotID, string simName, Vector3 globalPos, string parcelName, byte classifiedFlags, int price)
1080 {
1081 }
1082
1083 public void SendAgentDropGroup(UUID groupID)
1084 {
1085 }
1086
1087 public void SendAvatarNotesReply(UUID targetID, string text)
1088 {
1089 }
1090
1091 public void SendAvatarPicksReply(UUID targetID, Dictionary<UUID, string> picks)
1092 {
1093 }
1094
1095 public void SendAvatarClassifiedReply(UUID targetID, Dictionary<UUID, string> classifieds)
1096 {
1097 }
1098
1099 public void SendParcelDwellReply(int localID, UUID parcelID, float dwell)
1100 {
1101 }
1102
1103 public void SendUserInfoReply(bool imViaEmail, bool visible, string email)
1104 {
1105 }
1106
1107 public void SendCreateGroupReply(UUID groupID, bool success, string message)
1108 {
1109 }
1110
1111 public void RefreshGroupMembership()
1112 {
1113 }
1114
1115 public void SendUseCachedMuteList()
1116 {
1117 }
1118
1119 public void SendMuteListUpdate(string filename)
1120 {
1121 }
1122
1123 public void SendPickInfoReply(UUID pickID,UUID creatorID, bool topPick, UUID parcelID, string name, string desc, UUID snapshotID, string user, string originalName, string simName, Vector3 posGlobal, int sortOrder, bool enabled)
1124 {
1125 }
1126 #endregion
1127
1128 public void SendRebakeAvatarTextures(UUID textureID)
1129 {
1130 }
1131
1132 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
1133 {
1134 }
1135
1136 public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
1137 {
1138 }
1139
1140 public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
1141 {
1142 }
1143
1144 public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
1145 {
1146 }
1147
1148 public void SendGroupVoteHistory(UUID groupID, UUID transactionID, GroupVoteHistory[] Votes)
1149 {
1150 }
1151
1152 public void SendGroupActiveProposals(UUID groupID, UUID transactionID, GroupActiveProposals[] Proposals)
1153 {
1154 }
1155
1156 public void SendChangeUserRights(UUID agentID, UUID friendID, int rights)
1157 {
1158 }
1159
1160 public void SendTextBoxRequest(string message, int chatChannel, string objectname, UUID ownerID, string ownerFirstName, string ownerLastName, UUID objectId)
1161 {
1162 }
1163
1164 public void StopFlying(ISceneEntity presence)
1165 {
1166 }
1167
1168 public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data)
1169 {
1170 }
1171 }
1172}
diff --git a/OpenSim/Region/Examples/SimpleModule/Properties/AssemblyInfo.cs b/OpenSim/Region/Examples/SimpleModule/Properties/AssemblyInfo.cs
deleted file mode 100644
index 5e09adb..0000000
--- a/OpenSim/Region/Examples/SimpleModule/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,62 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
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
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
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System.Reflection;
29using System.Runtime.InteropServices;
30
31// General information about an assembly is controlled through the following
32// set of attributes. Change these attribute values to modify the information
33// associated with an assembly.
34[assembly: AssemblyTitle("OpenSim.Region.Examples.SimpleModule")]
35[assembly: AssemblyDescription("")]
36[assembly: AssemblyConfiguration("")]
37[assembly: AssemblyCompany("http://opensimulator.org")]
38[assembly: AssemblyProduct("OpenSim.Region.Examples.SimpleModule")]
39[assembly: AssemblyCopyright("Copyright (c) 2008")]
40[assembly: AssemblyTrademark("")]
41[assembly: AssemblyCulture("")]
42
43// Setting ComVisible to false makes the types in this assembly not visible
44// to COM components. If you need to access a type in this assembly from
45// COM, set the ComVisible attribute to true on that type.
46[assembly: ComVisible(false)]
47
48// The following GUID is for the ID of the typelib if this project is exposed to COM
49[assembly: Guid("f0caca77-7818-4a43-9200-0a8548009a05")]
50
51// Version information for an assembly consists of the following four values:
52//
53// Major Version
54// Minor Version
55// Build Number
56// Revision
57//
58// You can specify all the values or you can default the Build and Revision Numbers
59// by using the '*' as shown below:
60// [assembly: AssemblyVersion("0.6.5.*")]
61[assembly: AssemblyVersion("0.6.5.*")]
62[assembly: AssemblyFileVersion("0.6.5.0")]
diff --git a/OpenSim/Region/Examples/SimpleModule/README.txt b/OpenSim/Region/Examples/SimpleModule/README.txt
deleted file mode 100644
index 025e33d..0000000
--- a/OpenSim/Region/Examples/SimpleModule/README.txt
+++ /dev/null
@@ -1,9 +0,0 @@
1!!!IMPORTANT NOTE!!!
2
3This code snippet provided as an example of coding functional content with region modules.
4
5As of 13/3 2008 this module actually renders all regions within the instance unusable if enabled by dragging the dll from ./bin to global /bin.
6
7So, use at own peril and in dedicated instance.
8
9Peace.
diff --git a/OpenSim/Region/Examples/SimpleModule/RegionModule.cs b/OpenSim/Region/Examples/SimpleModule/RegionModule.cs
deleted file mode 100644
index 3b8ce37..0000000
--- a/OpenSim/Region/Examples/SimpleModule/RegionModule.cs
+++ /dev/null
@@ -1,147 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
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
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
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System.Collections.Generic;
29using Nini.Config;
30using OpenMetaverse;
31using OpenSim.Framework;
32using OpenSim.Region.Framework.Interfaces;
33using OpenSim.Region.Framework.Scenes;
34
35namespace OpenSim.Region.Examples.SimpleModule
36{
37 /// <summary>
38 /// Example region module.
39 /// </summary>
40 /// <remarks>
41 /// This is an old and unmaintained region module which uses the old style module interface. It is not loaded into
42 /// OpenSim by default. If you want to try enabling it, look in the bin folder of this project.
43 /// Please see the README.txt in this project on the filesystem for some more information.
44 /// Nonetheless, it may contain some useful example code so has been left here for now.
45 ///
46 /// You can see bare bones examples of the more modern region module system in OpenSim/Region/OptionalModules/Example
47 /// </remarks>
48 public class RegionModule : IRegionModule
49 {
50 #region IRegionModule Members
51
52 private Scene m_scene;
53
54 public void Initialise(Scene scene, IConfigSource source)
55 {
56 m_scene = scene;
57 }
58
59 public void PostInitialise()
60 {
61 // RegionInfo regionInfo = m_scene.RegionInfo;
62
63 // Vector3 pos = new Vector3(110, 129, 27);
64
65 //AddCpuCounter(regionInfo, pos);
66 // AddComplexObjects(regionInfo, pos);
67 AddAvatars();
68 // AddFileSystemObjects();
69 }
70
71 // private void AddFileSystemObjects()
72 // {
73 // DirectoryInfo dirInfo = new DirectoryInfo(".");
74
75 // float x = 0;
76 // float z = 0;
77
78 // foreach (FileInfo fileInfo in dirInfo.GetFiles())
79 // {
80 // Vector3 filePos = new Vector3(100 + x, 129, 27 + z);
81 // x = x + 2;
82 // if (x > 50)
83 // {
84 // x = 0;
85 // z = z + 2;
86 // }
87
88 // FileSystemObject fileObject = new FileSystemObject(m_scene, fileInfo, filePos);
89 // m_scene.AddNewSceneObject(fileObject, true);
90 // }
91 // }
92
93 private void AddAvatars()
94 {
95 for (int i = 0; i < 1; i++)
96 {
97 MyNpcCharacter m_character = new MyNpcCharacter(m_scene);
98 m_scene.AddNewClient(m_character, PresenceType.Npc);
99 m_scene.AgentCrossing(m_character.AgentId, Vector3.Zero, false);
100 }
101
102 m_scene.ForEachScenePresence(delegate(ScenePresence sp)
103 {
104 if (!sp.IsChildAgent)
105 sp.AbsolutePosition =
106 new Vector3((float)Util.RandomClass.Next(100, 200), (float)Util.RandomClass.Next(30, 200), 2);
107 });
108 }
109
110 // private void AddComplexObjects(RegionInfo regionInfo, Vector3 pos)
111 // {
112 // int objs = 3;
113
114 // for (int i = 0; i < (objs*objs*objs); i++)
115 // {
116 // Vector3 posOffset = new Vector3((i % objs) * 4, ((i % (objs*objs)) / (objs)) * 4, (i / (objs*objs)) * 4);
117 // ComplexObject complexObject =
118 // new ComplexObject(m_scene, regionInfo.RegionHandle, UUID.Zero, pos + posOffset);
119 // m_scene.AddNewSceneObject(complexObject, true);
120 // }
121 // }
122
123 // private void AddCpuCounter(RegionInfo regionInfo, Vector3 pos)
124 // {
125 // SceneObjectGroup sceneObject =
126 // new CpuCounterObject(m_scene, regionInfo.RegionHandle, UUID.Zero, pos + new Vector3(1f, 1f, 1f));
127 // m_scene.AddNewSceneObject(sceneObject, true);
128 // }
129
130 public void Close()
131 {
132 m_scene = null;
133 }
134
135 public string Name
136 {
137 get { return GetType().AssemblyQualifiedName; }
138 }
139
140 public bool IsSharedModule
141 {
142 get { return false; }
143 }
144
145 #endregion
146 }
147}