aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Examples/SimpleApp/MyWorld.cs
diff options
context:
space:
mode:
authorMW2007-06-27 15:28:52 +0000
committerMW2007-06-27 15:28:52 +0000
commit646bbbc84b8010e0dacbeed5342cdb045f46cc49 (patch)
tree770b34d19855363c3c113ab9a0af9a56d821d887 /OpenSim/Region/Examples/SimpleApp/MyWorld.cs
downloadopensim-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.cs113
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 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using OpenSim.Framework.Interfaces;
5using OpenSim.Framework.Types;
6using OpenSim.Framework.Console;
7using libsecondlife;
8using OpenSim.Region;
9using Avatar=OpenSim.Region.Scenes.ScenePresence;
10using OpenSim.Region.Scenes;
11using OpenSim.Framework;
12using OpenSim.Caches;
13using OpenGrid.Framework.Communications;
14using OpenSim.Servers;
15
16namespace 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}