diff options
author | MW | 2007-06-27 15:28:52 +0000 |
---|---|---|
committer | MW | 2007-06-27 15:28:52 +0000 |
commit | 646bbbc84b8010e0dacbeed5342cdb045f46cc49 (patch) | |
tree | 770b34d19855363c3c113ab9a0af9a56d821d887 /OpenSim/Region/Examples/SimpleApp/MyWorld.cs | |
download | opensim-SC-646bbbc84b8010e0dacbeed5342cdb045f46cc49.zip opensim-SC-646bbbc84b8010e0dacbeed5342cdb045f46cc49.tar.gz opensim-SC-646bbbc84b8010e0dacbeed5342cdb045f46cc49.tar.bz2 opensim-SC-646bbbc84b8010e0dacbeed5342cdb045f46cc49.tar.xz |
Some work on restructuring the namespaces / project names. Note this doesn't compile yet as not all the code has been changed to use the new namespaces. Am committing it now for feedback on the namespaces.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Examples/SimpleApp/MyWorld.cs | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/OpenSim/Region/Examples/SimpleApp/MyWorld.cs b/OpenSim/Region/Examples/SimpleApp/MyWorld.cs new file mode 100644 index 0000000..01e0c59 --- /dev/null +++ b/OpenSim/Region/Examples/SimpleApp/MyWorld.cs | |||
@@ -0,0 +1,113 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | using OpenSim.Framework.Interfaces; | ||
5 | using OpenSim.Framework.Types; | ||
6 | using OpenSim.Framework.Console; | ||
7 | using libsecondlife; | ||
8 | using OpenSim.Region; | ||
9 | using Avatar=OpenSim.Region.Scenes.ScenePresence; | ||
10 | using OpenSim.Region.Scenes; | ||
11 | using OpenSim.Framework; | ||
12 | using OpenSim.Caches; | ||
13 | using OpenGrid.Framework.Communications; | ||
14 | using OpenSim.Servers; | ||
15 | |||
16 | namespace SimpleApp | ||
17 | { | ||
18 | public class MyWorld : Scene | ||
19 | { | ||
20 | private RegionInfo m_regionInfo; | ||
21 | private List<OpenSim.Region.Scenes.ScenePresence> m_avatars; | ||
22 | |||
23 | public MyWorld(Dictionary<uint, IClientAPI> clientThreads, RegionInfo regionInfo, AuthenticateSessionsBase authen, CommunicationsManager commsMan, AssetCache assetCach, BaseHttpServer httpServer) | ||
24 | : base(clientThreads, regionInfo, authen, commsMan, assetCach, httpServer) | ||
25 | { | ||
26 | m_regionInfo = regionInfo; | ||
27 | m_avatars = new List<Avatar>(); | ||
28 | } | ||
29 | |||
30 | public override void SendLayerData(IClientAPI remoteClient) | ||
31 | { | ||
32 | float[] map = new float[65536]; | ||
33 | |||
34 | for (int i = 0; i < 65536; i++) | ||
35 | { | ||
36 | int x = i % 256; | ||
37 | int y = i / 256; | ||
38 | |||
39 | map[i] = (float)(x + y / 2); | ||
40 | } | ||
41 | |||
42 | remoteClient.SendLayerData(map); | ||
43 | } | ||
44 | |||
45 | #region IWorld Members | ||
46 | |||
47 | override public void AddNewClient(IClientAPI client, LLUUID agentID, bool child) | ||
48 | |||
49 | { | ||
50 | LLVector3 pos = new LLVector3(128, 128, 128); | ||
51 | |||
52 | client.OnRegionHandShakeReply += SendLayerData; | ||
53 | client.OnChatFromViewer += | ||
54 | delegate(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) | ||
55 | { | ||
56 | // Echo it (so you know what you typed) | ||
57 | client.SendChatMessage(message, type, fromPos, fromName, fromAgentID); | ||
58 | client.SendChatMessage("Ready.", 1, pos, "System", LLUUID.Zero ); | ||
59 | }; | ||
60 | |||
61 | client.OnRequestWearables += SendWearables; | ||
62 | |||
63 | client.OnCompleteMovementToRegion += delegate() | ||
64 | { | ||
65 | client.MoveAgentIntoRegion(m_regionInfo, pos, LLVector3.Zero ); | ||
66 | }; | ||
67 | |||
68 | client.OnCompleteMovementToRegion += delegate() | ||
69 | { | ||
70 | client.SendAvatarData(m_regionInfo.RegionHandle, client.FirstName, | ||
71 | client.LastName, client.AgentId, 0, | ||
72 | pos, null); | ||
73 | |||
74 | client.SendChatMessage("Welcome to My World.", 1, pos, "System", LLUUID.Zero ); | ||
75 | }; | ||
76 | |||
77 | client.SendRegionHandshake(m_regionInfo); | ||
78 | |||
79 | OpenSim.Region.Scenes.ScenePresence avatar = new Avatar( client, this, m_regionInfo ); | ||
80 | |||
81 | } | ||
82 | |||
83 | private void SendWearables( IClientAPI client ) | ||
84 | { | ||
85 | client.SendWearables( AvatarWearable.DefaultWearables ); | ||
86 | } | ||
87 | |||
88 | |||
89 | override public void RemoveClient(LLUUID agentID) | ||
90 | { | ||
91 | |||
92 | } | ||
93 | |||
94 | public RegionInfo RegionInfo | ||
95 | { | ||
96 | get { return m_regionInfo; } | ||
97 | } | ||
98 | |||
99 | public object SyncRoot | ||
100 | { | ||
101 | get { return this; } | ||
102 | } | ||
103 | |||
104 | private uint m_nextLocalId = 1; | ||
105 | |||
106 | public uint NextLocalId | ||
107 | { | ||
108 | get { return m_nextLocalId++; } | ||
109 | } | ||
110 | |||
111 | #endregion | ||
112 | } | ||
113 | } | ||