1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
using System;
using System.Collections.Generic;
using System.Text;
using libsecondlife;
using libsecondlife.Packets;
using OpenSim.Physics.Manager;
using OpenSim.Framework.Interfaces;
using OpenSim.Framework.Types;
using OpenSim.Framework.Inventory;
using OpenSim.Framework.Utilities;
namespace OpenSim.world
{
public partial class World
{
public void ModifyTerrain(byte action, float north, float west)
{
switch (action)
{
case 1:
// raise terrain
Terrain.raise(north, west, 10.0, 0.001);
RegenerateTerrain(true, (int)north, (int)west);
break;
case 2:
//lower terrain
Terrain.lower(north, west, 10.0, 0.001);
RegenerateTerrain(true, (int)north, (int)west);
break;
}
return;
}
public void SimChat(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID)
{
foreach (IClientAPI client in m_clientThreads.Values)
{
// int dis = Util.fast_distance2d((int)(client.ClientAvatar.Pos.X - simClient.ClientAvatar.Pos.X), (int)(client.ClientAvatar.Pos.Y - simClient.ClientAvatar.Pos.Y));
int dis = 0; // (int)client.ClientAvatar.Pos.GetDistanceTo(fromPos);
switch (type)
{
case 0: // Whisper
if ((dis < 10) && (dis > -10))
{
//should change so the message is sent through the avatar rather than direct to the ClientView
client.SendChatMessage(message, type, fromPos, fromName, fromAgentID);
}
break;
case 1: // Say
if ((dis < 30) && (dis > -30))
{
client.SendChatMessage(message, type, fromPos, fromName, fromAgentID);
}
break;
case 2: // Shout
if ((dis < 100) && (dis > -100))
{
client.SendChatMessage(message, type, fromPos, fromName, fromAgentID);
}
break;
case 0xff: // Broadcast
client.SendChatMessage(message, type, fromPos, fromName, fromAgentID);
break;
}
}
}
public void RezObject(AssetBase primAsset, LLVector3 pos)
{
}
public void DeRezObject(Packet packet, IClientAPI simClient)
{
}
public void SendAvatarsToClient(IClientAPI remoteClient)
{
}
public void LinkObjects(uint parentPrim, List<uint> childPrims)
{
}
public void UpdatePrimShape(uint primLocalID, ObjectShapePacket.ObjectDataBlock shapeBlock)
{
}
public void SelectPrim(uint primLocalID, IClientAPI remoteClient)
{
}
public void UpdatePrimFlags(uint localID, Packet packet, IClientAPI remoteClient)
{
}
public void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient)
{
}
public void UpdatePrimPosition(uint localID, LLVector3 pos, IClientAPI remoteClient)
{
}
public void UpdatePrimRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient)
{
}
public void UpdatePrimScale(uint localID, LLVector3 scale, IClientAPI remoteClient)
{
}
}
}
|