diff options
author | MW | 2007-05-27 18:52:42 +0000 |
---|---|---|
committer | MW | 2007-05-27 18:52:42 +0000 |
commit | c746a2f9f4f0b1e7eea564effdae63472f79ab22 (patch) | |
tree | 54d23af3d168958bfec995cf2987cf5af79ac149 /OpenSim/OpenSim.RegionServer/ClientView.API.cs | |
parent | Goodbye World (diff) | |
download | opensim-SC-c746a2f9f4f0b1e7eea564effdae63472f79ab22.zip opensim-SC-c746a2f9f4f0b1e7eea564effdae63472f79ab22.tar.gz opensim-SC-c746a2f9f4f0b1e7eea564effdae63472f79ab22.tar.bz2 opensim-SC-c746a2f9f4f0b1e7eea564effdae63472f79ab22.tar.xz |
Should allow multiple worlds (and UDP servers) to be ran in one instance, just missing backend comms and working Avatar/primitives classes.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/OpenSim.RegionServer/ClientView.API.cs | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/OpenSim/OpenSim.RegionServer/ClientView.API.cs b/OpenSim/OpenSim.RegionServer/ClientView.API.cs new file mode 100644 index 0000000..579928c --- /dev/null +++ b/OpenSim/OpenSim.RegionServer/ClientView.API.cs | |||
@@ -0,0 +1,96 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | using OpenSim.Framework.Interfaces; | ||
5 | using OpenSim.Framework.Inventory; | ||
6 | using libsecondlife; | ||
7 | using libsecondlife.Packets; | ||
8 | |||
9 | namespace OpenSim | ||
10 | { | ||
11 | partial class ClientView | ||
12 | { | ||
13 | public event ChatFromViewer OnChatFromViewer; | ||
14 | public event RezObject OnRezObject; | ||
15 | public event GenericCall4 OnDeRezObject; | ||
16 | public event ModifyTerrain OnModifyTerrain; | ||
17 | public event GenericCall OnRegionHandShakeReply; | ||
18 | public event GenericCall OnRequestWearables; | ||
19 | public event SetAppearance OnSetAppearance; | ||
20 | public event GenericCall2 OnCompleteMovementToRegion; | ||
21 | public event GenericCall3 OnAgentUpdate; | ||
22 | public event StartAnim OnStartAnim; | ||
23 | public event GenericCall OnRequestAvatarsData; | ||
24 | public event LinkObjects OnLinkObjects; | ||
25 | public event GenericCall4 OnAddPrim; | ||
26 | public event UpdateShape OnUpdatePrimShape; | ||
27 | public event ObjectSelect OnObjectSelect; | ||
28 | public event UpdatePrimFlags OnUpdatePrimFlags; | ||
29 | public event UpdatePrimTexture OnUpdatePrimTexture; | ||
30 | public event UpdatePrimVector OnUpdatePrimPosition; | ||
31 | public event UpdatePrimRotation OnUpdatePrimRotation; | ||
32 | public event UpdatePrimVector OnUpdatePrimScale; | ||
33 | public event StatusChange OnChildAgentStatus; | ||
34 | public event GenericCall2 OnStopMovement; | ||
35 | |||
36 | public LLVector3 StartPos | ||
37 | { | ||
38 | get | ||
39 | { | ||
40 | return startpos; | ||
41 | } | ||
42 | set | ||
43 | { | ||
44 | startpos = value; | ||
45 | } | ||
46 | } | ||
47 | |||
48 | public LLUUID AgentId | ||
49 | { | ||
50 | get | ||
51 | { | ||
52 | return this.AgentID; | ||
53 | } | ||
54 | } | ||
55 | |||
56 | #region World/Avatar to Client | ||
57 | public void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) | ||
58 | { | ||
59 | System.Text.Encoding enc = System.Text.Encoding.ASCII; | ||
60 | libsecondlife.Packets.ChatFromSimulatorPacket reply = new ChatFromSimulatorPacket(); | ||
61 | reply.ChatData.Audible = 1; | ||
62 | reply.ChatData.Message = message; | ||
63 | reply.ChatData.ChatType = type; | ||
64 | reply.ChatData.SourceType = 1; | ||
65 | reply.ChatData.Position = fromPos; | ||
66 | reply.ChatData.FromName = enc.GetBytes(fromName + "\0"); | ||
67 | reply.ChatData.OwnerID = fromAgentID; | ||
68 | reply.ChatData.SourceID = fromAgentID; | ||
69 | |||
70 | this.OutPacket(reply); | ||
71 | } | ||
72 | |||
73 | public void SendAppearance(AvatarWearable[] wearables) | ||
74 | { | ||
75 | AgentWearablesUpdatePacket aw = new AgentWearablesUpdatePacket(); | ||
76 | aw.AgentData.AgentID = this.AgentID; | ||
77 | aw.AgentData.SerialNum = 0; | ||
78 | aw.AgentData.SessionID = this.SessionID; | ||
79 | |||
80 | aw.WearableData = new AgentWearablesUpdatePacket.WearableDataBlock[13]; | ||
81 | AgentWearablesUpdatePacket.WearableDataBlock awb; | ||
82 | for (int i = 0; i < wearables.Length; i++) | ||
83 | { | ||
84 | awb = new AgentWearablesUpdatePacket.WearableDataBlock(); | ||
85 | awb.WearableType = (byte)i; | ||
86 | awb.AssetID = wearables[i].AssetID; | ||
87 | awb.ItemID = wearables[i].ItemID; | ||
88 | aw.WearableData[i] = awb; | ||
89 | } | ||
90 | |||
91 | this.OutPacket(aw); | ||
92 | } | ||
93 | #endregion | ||
94 | |||
95 | } | ||
96 | } | ||