diff options
Diffstat (limited to 'OpenSim/OpenSim.Reg/World.PacketHandlers.cs')
-rw-r--r-- | OpenSim/OpenSim.Reg/World.PacketHandlers.cs | 219 |
1 files changed, 219 insertions, 0 deletions
diff --git a/OpenSim/OpenSim.Reg/World.PacketHandlers.cs b/OpenSim/OpenSim.Reg/World.PacketHandlers.cs new file mode 100644 index 0000000..c88e920 --- /dev/null +++ b/OpenSim/OpenSim.Reg/World.PacketHandlers.cs | |||
@@ -0,0 +1,219 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | using libsecondlife; | ||
5 | using libsecondlife.Packets; | ||
6 | using OpenSim.Physics.Manager; | ||
7 | using OpenSim.Framework.Interfaces; | ||
8 | using OpenSim.Framework.Types; | ||
9 | using OpenSim.Framework.Inventory; | ||
10 | using OpenSim.Framework.Utilities; | ||
11 | |||
12 | namespace OpenSim.Region | ||
13 | { | ||
14 | public partial class World | ||
15 | { | ||
16 | /// <summary> | ||
17 | /// | ||
18 | /// </summary> | ||
19 | /// <param name="action"></param> | ||
20 | /// <param name="north"></param> | ||
21 | /// <param name="west"></param> | ||
22 | public void ModifyTerrain(byte action, float north, float west) | ||
23 | { | ||
24 | switch (action) | ||
25 | { | ||
26 | case 1: | ||
27 | // raise terrain | ||
28 | Terrain.raise(north, west, 10.0, 0.001); | ||
29 | RegenerateTerrain(true, (int)north, (int)west); | ||
30 | break; | ||
31 | case 2: | ||
32 | //lower terrain | ||
33 | Terrain.lower(north, west, 10.0, 0.001); | ||
34 | RegenerateTerrain(true, (int)north, (int)west); | ||
35 | break; | ||
36 | } | ||
37 | return; | ||
38 | } | ||
39 | |||
40 | /// <summary> | ||
41 | /// | ||
42 | /// </summary> | ||
43 | /// <param name="message"></param> | ||
44 | /// <param name="type"></param> | ||
45 | /// <param name="fromPos"></param> | ||
46 | /// <param name="fromName"></param> | ||
47 | /// <param name="fromAgentID"></param> | ||
48 | public void SimChat(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) | ||
49 | { | ||
50 | Console.WriteLine("Chat message"); | ||
51 | Avatar avatar = null; | ||
52 | foreach (IClientAPI client in m_clientThreads.Values) | ||
53 | { | ||
54 | int dis = -1000; | ||
55 | if (this.Avatars.ContainsKey(client.AgentId)) | ||
56 | { | ||
57 | |||
58 | avatar = this.Avatars[client.AgentId]; | ||
59 | // int dis = Util.fast_distance2d((int)(client.ClientAvatar.Pos.X - simClient.ClientAvatar.Pos.X), (int)(client.ClientAvatar.Pos.Y - simClient.ClientAvatar.Pos.Y)); | ||
60 | dis= (int)avatar.Pos.GetDistanceTo(fromPos); | ||
61 | Console.WriteLine("found avatar at " +dis); | ||
62 | |||
63 | } | ||
64 | |||
65 | switch (type) | ||
66 | { | ||
67 | case 0: // Whisper | ||
68 | if ((dis < 10) && (dis > -10)) | ||
69 | { | ||
70 | //should change so the message is sent through the avatar rather than direct to the ClientView | ||
71 | client.SendChatMessage(message, type, fromPos, fromName, fromAgentID); | ||
72 | } | ||
73 | break; | ||
74 | case 1: // Say | ||
75 | if ((dis < 30) && (dis > -30)) | ||
76 | { | ||
77 | Console.WriteLine("sending chat"); | ||
78 | client.SendChatMessage(message, type, fromPos, fromName, fromAgentID); | ||
79 | } | ||
80 | break; | ||
81 | case 2: // Shout | ||
82 | if ((dis < 100) && (dis > -100)) | ||
83 | { | ||
84 | client.SendChatMessage(message, type, fromPos, fromName, fromAgentID); | ||
85 | } | ||
86 | break; | ||
87 | |||
88 | case 0xff: // Broadcast | ||
89 | client.SendChatMessage(message, type, fromPos, fromName, fromAgentID); | ||
90 | break; | ||
91 | } | ||
92 | |||
93 | } | ||
94 | } | ||
95 | |||
96 | /// <summary> | ||
97 | /// | ||
98 | /// </summary> | ||
99 | /// <param name="primAsset"></param> | ||
100 | /// <param name="pos"></param> | ||
101 | public void RezObject(AssetBase primAsset, LLVector3 pos) | ||
102 | { | ||
103 | |||
104 | } | ||
105 | |||
106 | /// <summary> | ||
107 | /// | ||
108 | /// </summary> | ||
109 | /// <param name="packet"></param> | ||
110 | /// <param name="simClient"></param> | ||
111 | public void DeRezObject(Packet packet, IClientAPI simClient) | ||
112 | { | ||
113 | |||
114 | } | ||
115 | |||
116 | /// <summary> | ||
117 | /// | ||
118 | /// </summary> | ||
119 | /// <param name="remoteClient"></param> | ||
120 | public void SendAvatarsToClient(IClientAPI remoteClient) | ||
121 | { | ||
122 | |||
123 | } | ||
124 | |||
125 | /// <summary> | ||
126 | /// | ||
127 | /// </summary> | ||
128 | /// <param name="parentPrim"></param> | ||
129 | /// <param name="childPrims"></param> | ||
130 | public void LinkObjects(uint parentPrim, List<uint> childPrims) | ||
131 | { | ||
132 | |||
133 | |||
134 | } | ||
135 | |||
136 | /// <summary> | ||
137 | /// | ||
138 | /// </summary> | ||
139 | /// <param name="primLocalID"></param> | ||
140 | /// <param name="shapeBlock"></param> | ||
141 | public void UpdatePrimShape(uint primLocalID, ObjectShapePacket.ObjectDataBlock shapeBlock) | ||
142 | { | ||
143 | |||
144 | } | ||
145 | |||
146 | /// <summary> | ||
147 | /// | ||
148 | /// </summary> | ||
149 | /// <param name="primLocalID"></param> | ||
150 | /// <param name="remoteClient"></param> | ||
151 | public void SelectPrim(uint primLocalID, IClientAPI remoteClient) | ||
152 | { | ||
153 | |||
154 | } | ||
155 | |||
156 | /// <summary> | ||
157 | /// | ||
158 | /// </summary> | ||
159 | /// <param name="localID"></param> | ||
160 | /// <param name="packet"></param> | ||
161 | /// <param name="remoteClient"></param> | ||
162 | public void UpdatePrimFlags(uint localID, Packet packet, IClientAPI remoteClient) | ||
163 | { | ||
164 | |||
165 | } | ||
166 | |||
167 | /// <summary> | ||
168 | /// | ||
169 | /// </summary> | ||
170 | /// <param name="localID"></param> | ||
171 | /// <param name="texture"></param> | ||
172 | /// <param name="remoteClient"></param> | ||
173 | public void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient) | ||
174 | { | ||
175 | |||
176 | } | ||
177 | |||
178 | /// <summary> | ||
179 | /// | ||
180 | /// </summary> | ||
181 | /// <param name="localID"></param> | ||
182 | /// <param name="pos"></param> | ||
183 | /// <param name="remoteClient"></param> | ||
184 | public void UpdatePrimPosition(uint localID, LLVector3 pos, IClientAPI remoteClient) | ||
185 | { | ||
186 | |||
187 | } | ||
188 | |||
189 | /// <summary> | ||
190 | /// | ||
191 | /// </summary> | ||
192 | /// <param name="localID"></param> | ||
193 | /// <param name="rot"></param> | ||
194 | /// <param name="remoteClient"></param> | ||
195 | public void UpdatePrimRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient) | ||
196 | { | ||
197 | |||
198 | } | ||
199 | |||
200 | /// <summary> | ||
201 | /// | ||
202 | /// </summary> | ||
203 | /// <param name="localID"></param> | ||
204 | /// <param name="scale"></param> | ||
205 | /// <param name="remoteClient"></param> | ||
206 | public void UpdatePrimScale(uint localID, LLVector3 scale, IClientAPI remoteClient) | ||
207 | { | ||
208 | } | ||
209 | |||
210 | /// <summary> | ||
211 | /// Sends prims to a client | ||
212 | /// </summary> | ||
213 | /// <param name="RemoteClient">Client to send to</param> | ||
214 | public void GetInitialPrims(IClientAPI RemoteClient) | ||
215 | { | ||
216 | |||
217 | } | ||
218 | } | ||
219 | } | ||