diff options
author | lbsa71 | 2007-06-09 21:45:58 +0000 |
---|---|---|
committer | lbsa71 | 2007-06-09 21:45:58 +0000 |
commit | 4224b695acc2e1ad0199dc0ad7f560494182ed54 (patch) | |
tree | 8fae1cf25a058bc4e378ef2b6ce264d7f9f0b910 /OpenSim/OpenSim.World | |
parent | *Fixed casting mishap in last commit - client now starts up without crashing (diff) | |
download | opensim-SC_OLD-4224b695acc2e1ad0199dc0ad7f560494182ed54.zip opensim-SC_OLD-4224b695acc2e1ad0199dc0ad7f560494182ed54.tar.gz opensim-SC_OLD-4224b695acc2e1ad0199dc0ad7f560494182ed54.tar.bz2 opensim-SC_OLD-4224b695acc2e1ad0199dc0ad7f560494182ed54.tar.xz |
* LogFile now defaults to "{apptype}.log"
* cleaned away suo and user files.
* added handy string chat variety to the API
* Moved LockPhysicsEngine on World to SyncRoot on IWorld
* Introduced NextLocalId instead of World fuggliness.
* Transformed GetRegionInfo to Property on IWorld for great justice
* Extracted default wearables (good to have)
* Deleted unused BaseServer
* Used IWorld instead of World wherever possible
* The client constructor's not getting unused port any longer.
* Extracted ClientView factoring so PacketServer can be tweaked.
* Added SendLayerData to World
* Made WorldBase abstract and cleaned it up a bit
* added OpenGrid.Framework.Communications.dll.build and OpenSim.World.dll.build to svn
* Added code for two examples (but not in prebuild yet)
Diffstat (limited to 'OpenSim/OpenSim.World')
-rw-r--r-- | OpenSim/OpenSim.World/Avatar.cs | 11 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/Entity.cs | 2 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/OpenSim.World.csproj | 32 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/OpenSim.World.csproj.user | 12 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/OpenSim.World.dll.build | 71 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/World.cs | 18 | ||||
-rw-r--r-- | OpenSim/OpenSim.World/WorldBase.cs | 91 |
7 files changed, 129 insertions, 108 deletions
diff --git a/OpenSim/OpenSim.World/Avatar.cs b/OpenSim/OpenSim.World/Avatar.cs index c251d57..4ab576c 100644 --- a/OpenSim/OpenSim.World/Avatar.cs +++ b/OpenSim/OpenSim.World/Avatar.cs | |||
@@ -55,21 +55,16 @@ namespace OpenSim.world | |||
55 | ControllingClient = theClient; | 55 | ControllingClient = theClient; |
56 | this.firstname = ControllingClient.FirstName; | 56 | this.firstname = ControllingClient.FirstName; |
57 | this.lastname = ControllingClient.LastName; | 57 | this.lastname = ControllingClient.LastName; |
58 | localid = 8880000 + (this.m_world._localNumber++); | 58 | localid = this.m_world.NextLocalId; |
59 | Pos = ControllingClient.StartPos; | 59 | Pos = ControllingClient.StartPos; |
60 | visualParams = new byte[218]; | 60 | visualParams = new byte[218]; |
61 | for (int i = 0; i < 218; i++) | 61 | for (int i = 0; i < 218; i++) |
62 | { | 62 | { |
63 | visualParams[i] = 100; | 63 | visualParams[i] = 100; |
64 | } | 64 | } |
65 | Wearables = new AvatarWearable[13]; //should be 13 of these | ||
66 | for (int i = 0; i < 13; i++) | ||
67 | { | ||
68 | Wearables[i] = new AvatarWearable(); | ||
69 | } | ||
70 | this.Wearables[0].AssetID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73"); | ||
71 | this.Wearables[0].ItemID = LLUUID.Random(); | ||
72 | 65 | ||
66 | Wearables = AvatarWearable.DefaultWearables; | ||
67 | |||
73 | this.avatarAppearanceTexture = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005")); | 68 | this.avatarAppearanceTexture = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005")); |
74 | Console.WriteLine("avatar point 4"); | 69 | Console.WriteLine("avatar point 4"); |
75 | 70 | ||
diff --git a/OpenSim/OpenSim.World/Entity.cs b/OpenSim/OpenSim.World/Entity.cs index b14beed..dd5f9a6 100644 --- a/OpenSim/OpenSim.World/Entity.cs +++ b/OpenSim/OpenSim.World/Entity.cs | |||
@@ -51,7 +51,7 @@ namespace OpenSim.world | |||
51 | { | 51 | { |
52 | try | 52 | try |
53 | { | 53 | { |
54 | lock (this.m_world.LockPhysicsEngine) | 54 | lock (this.m_world.SyncRoot) |
55 | { | 55 | { |
56 | 56 | ||
57 | this._physActor.Position = new PhysicsVector(value.X, value.Y, value.Z); | 57 | this._physActor.Position = new PhysicsVector(value.X, value.Y, value.Z); |
diff --git a/OpenSim/OpenSim.World/OpenSim.World.csproj b/OpenSim/OpenSim.World/OpenSim.World.csproj index f2fb596..46803d6 100644 --- a/OpenSim/OpenSim.World/OpenSim.World.csproj +++ b/OpenSim/OpenSim.World/OpenSim.World.csproj | |||
@@ -130,58 +130,58 @@ | |||
130 | </ProjectReference> | 130 | </ProjectReference> |
131 | </ItemGroup> | 131 | </ItemGroup> |
132 | <ItemGroup> | 132 | <ItemGroup> |
133 | <Compile Include="Entity.cs"> | 133 | <Compile Include="Avatar.Client.cs"> |
134 | <SubType>Code</SubType> | 134 | <SubType>Code</SubType> |
135 | </Compile> | 135 | </Compile> |
136 | <Compile Include="World.PacketHandlers.cs"> | 136 | <Compile Include="Avatar.cs"> |
137 | <SubType>Code</SubType> | 137 | <SubType>Code</SubType> |
138 | </Compile> | 138 | </Compile> |
139 | <Compile Include="WorldBase.cs"> | 139 | <Compile Include="Avatar.Update.cs"> |
140 | <SubType>Code</SubType> | 140 | <SubType>Code</SubType> |
141 | </Compile> | 141 | </Compile> |
142 | <Compile Include="SceneObject.cs"> | 142 | <Compile Include="AvatarAnimations.cs"> |
143 | <SubType>Code</SubType> | 143 | <SubType>Code</SubType> |
144 | </Compile> | 144 | </Compile> |
145 | <Compile Include="World.Scripting.cs"> | 145 | <Compile Include="Entity.cs"> |
146 | <SubType>Code</SubType> | 146 | <SubType>Code</SubType> |
147 | </Compile> | 147 | </Compile> |
148 | <Compile Include="Avatar.Client.cs"> | 148 | <Compile Include="ParcelManager.cs"> |
149 | <SubType>Code</SubType> | 149 | <SubType>Code</SubType> |
150 | </Compile> | 150 | </Compile> |
151 | <Compile Include="Avatar.Update.cs"> | 151 | <Compile Include="Primitive.cs"> |
152 | <SubType>Code</SubType> | 152 | <SubType>Code</SubType> |
153 | </Compile> | 153 | </Compile> |
154 | <Compile Include="AvatarAnimations.cs"> | 154 | <Compile Include="SceneObject.cs"> |
155 | <SubType>Code</SubType> | 155 | <SubType>Code</SubType> |
156 | </Compile> | 156 | </Compile> |
157 | <Compile Include="Primitive.cs"> | 157 | <Compile Include="World.cs"> |
158 | <SubType>Code</SubType> | 158 | <SubType>Code</SubType> |
159 | </Compile> | 159 | </Compile> |
160 | <Compile Include="Avatar.cs"> | 160 | <Compile Include="World.PacketHandlers.cs"> |
161 | <SubType>Code</SubType> | 161 | <SubType>Code</SubType> |
162 | </Compile> | 162 | </Compile> |
163 | <Compile Include="ParcelManager.cs"> | 163 | <Compile Include="World.Scripting.cs"> |
164 | <SubType>Code</SubType> | 164 | <SubType>Code</SubType> |
165 | </Compile> | 165 | </Compile> |
166 | <Compile Include="World.cs"> | 166 | <Compile Include="WorldBase.cs"> |
167 | <SubType>Code</SubType> | 167 | <SubType>Code</SubType> |
168 | </Compile> | 168 | </Compile> |
169 | <Compile Include="Estate\EstateManager.cs"> | 169 | <Compile Include="Estate\EstateManager.cs"> |
170 | <SubType>Code</SubType> | 170 | <SubType>Code</SubType> |
171 | </Compile> | 171 | </Compile> |
172 | <Compile Include="scripting\IScriptHandler.cs"> | 172 | <Compile Include="scripting\IScriptContext.cs"> |
173 | <SubType>Code</SubType> | 173 | <SubType>Code</SubType> |
174 | </Compile> | 174 | </Compile> |
175 | <Compile Include="scripting\ScriptFactory.cs"> | 175 | <Compile Include="scripting\IScriptEntity.cs"> |
176 | <SubType>Code</SubType> | 176 | <SubType>Code</SubType> |
177 | </Compile> | 177 | </Compile> |
178 | <Compile Include="scripting\IScriptContext.cs"> | 178 | <Compile Include="scripting\IScriptHandler.cs"> |
179 | <SubType>Code</SubType> | 179 | <SubType>Code</SubType> |
180 | </Compile> | 180 | </Compile> |
181 | <Compile Include="scripting\Script.cs"> | 181 | <Compile Include="scripting\Script.cs"> |
182 | <SubType>Code</SubType> | 182 | <SubType>Code</SubType> |
183 | </Compile> | 183 | </Compile> |
184 | <Compile Include="scripting\IScriptEntity.cs"> | 184 | <Compile Include="scripting\ScriptFactory.cs"> |
185 | <SubType>Code</SubType> | 185 | <SubType>Code</SubType> |
186 | </Compile> | 186 | </Compile> |
187 | <Compile Include="scripting\Scripts\FollowRandomAvatar.cs"> | 187 | <Compile Include="scripting\Scripts\FollowRandomAvatar.cs"> |
diff --git a/OpenSim/OpenSim.World/OpenSim.World.csproj.user b/OpenSim/OpenSim.World/OpenSim.World.csproj.user deleted file mode 100644 index 082d673..0000000 --- a/OpenSim/OpenSim.World/OpenSim.World.csproj.user +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
2 | <PropertyGroup> | ||
3 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||
4 | <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | ||
5 | <ReferencePath>C:\sugilite\bin\</ReferencePath> | ||
6 | <LastOpenVersion>8.0.50727</LastOpenVersion> | ||
7 | <ProjectView>ProjectFiles</ProjectView> | ||
8 | <ProjectTrust>0</ProjectTrust> | ||
9 | </PropertyGroup> | ||
10 | <PropertyGroup Condition = " '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " /> | ||
11 | <PropertyGroup Condition = " '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> | ||
12 | </Project> | ||
diff --git a/OpenSim/OpenSim.World/OpenSim.World.dll.build b/OpenSim/OpenSim.World/OpenSim.World.dll.build new file mode 100644 index 0000000..3fa534e --- /dev/null +++ b/OpenSim/OpenSim.World/OpenSim.World.dll.build | |||
@@ -0,0 +1,71 @@ | |||
1 | <?xml version="1.0" ?> | ||
2 | <project name="OpenSim.World" default="build"> | ||
3 | <target name="build"> | ||
4 | <echo message="Build Directory is ${project::get-base-directory()}/${build.dir}" /> | ||
5 | <mkdir dir="${project::get-base-directory()}/${build.dir}" /> | ||
6 | <copy todir="${project::get-base-directory()}/${build.dir}"> | ||
7 | <fileset basedir="${project::get-base-directory()}"> | ||
8 | </fileset> | ||
9 | </copy> | ||
10 | <csc target="library" debug="${build.debug}" unsafe="False" define="TRACE;DEBUG" output="${project::get-base-directory()}/${build.dir}/${project::get-name()}.dll"> | ||
11 | <resources prefix="OpenSim.World" dynamicprefix="true" > | ||
12 | </resources> | ||
13 | <sources failonempty="true"> | ||
14 | <include name="Avatar.Client.cs" /> | ||
15 | <include name="Avatar.cs" /> | ||
16 | <include name="Avatar.Update.cs" /> | ||
17 | <include name="AvatarAnimations.cs" /> | ||
18 | <include name="Entity.cs" /> | ||
19 | <include name="ParcelManager.cs" /> | ||
20 | <include name="Primitive.cs" /> | ||
21 | <include name="SceneObject.cs" /> | ||
22 | <include name="World.cs" /> | ||
23 | <include name="World.PacketHandlers.cs" /> | ||
24 | <include name="World.Scripting.cs" /> | ||
25 | <include name="WorldBase.cs" /> | ||
26 | <include name="Estate/EstateManager.cs" /> | ||
27 | <include name="scripting/IScriptContext.cs" /> | ||
28 | <include name="scripting/IScriptEntity.cs" /> | ||
29 | <include name="scripting/IScriptHandler.cs" /> | ||
30 | <include name="scripting/Script.cs" /> | ||
31 | <include name="scripting/ScriptFactory.cs" /> | ||
32 | <include name="scripting/Scripts/FollowRandomAvatar.cs" /> | ||
33 | <include name="types/Mesh.cs" /> | ||
34 | <include name="types/Triangle.cs" /> | ||
35 | </sources> | ||
36 | <references basedir="${project::get-base-directory()}"> | ||
37 | <lib> | ||
38 | <include name="${project::get-base-directory()}" /> | ||
39 | <include name="${project::get-base-directory()}/${build.dir}" /> | ||
40 | </lib> | ||
41 | <include name="System.dll" /> | ||
42 | <include name="System.Xml.dll" /> | ||
43 | <include name="../../bin/libsecondlife.dll" /> | ||
44 | <include name="../../bin/Axiom.MathLib.dll" /> | ||
45 | <include name="../../bin/Db4objects.Db4o.dll" /> | ||
46 | <include name="../../bin/OpenSim.Terrain.BasicTerrain.dll" /> | ||
47 | <include name="../../bin/OpenSim.Framework.dll" /> | ||
48 | <include name="../../bin/OpenSim.Framework.Console.dll" /> | ||
49 | <include name="../../bin/OpenSim.GenericConfig.Xml.dll" /> | ||
50 | <include name="../../bin/OpenSim.Physics.Manager.dll" /> | ||
51 | <include name="../../bin/OpenSim.Servers.dll" /> | ||
52 | <include name="../../bin/XMLRPC.dll" /> | ||
53 | <include name="../../bin/OpenGrid.Framework.Communications.dll" /> | ||
54 | </references> | ||
55 | </csc> | ||
56 | <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" /> | ||
57 | <mkdir dir="${project::get-base-directory()}/../../bin/"/> | ||
58 | <copy todir="${project::get-base-directory()}/../../bin/"> | ||
59 | <fileset basedir="${project::get-base-directory()}/${build.dir}/" > | ||
60 | <include name="*.dll"/> | ||
61 | <include name="*.exe"/> | ||
62 | </fileset> | ||
63 | </copy> | ||
64 | </target> | ||
65 | <target name="clean"> | ||
66 | <delete dir="${bin.dir}" failonerror="false" /> | ||
67 | <delete dir="${obj.dir}" failonerror="false" /> | ||
68 | </target> | ||
69 | <target name="doc" description="Creates documentation."> | ||
70 | </target> | ||
71 | </project> | ||
diff --git a/OpenSim/OpenSim.World/World.cs b/OpenSim/OpenSim.World/World.cs index 011e39a..7ef06e2 100644 --- a/OpenSim/OpenSim.World/World.cs +++ b/OpenSim/OpenSim.World/World.cs | |||
@@ -23,10 +23,8 @@ namespace OpenSim.world | |||
23 | public partial class World : WorldBase, ILocalStorageReceiver, IScriptAPI | 23 | public partial class World : WorldBase, ILocalStorageReceiver, IScriptAPI |
24 | { | 24 | { |
25 | protected System.Timers.Timer m_heartbeatTimer = new System.Timers.Timer(); | 25 | protected System.Timers.Timer m_heartbeatTimer = new System.Timers.Timer(); |
26 | public object LockPhysicsEngine = new object(); | ||
27 | protected Dictionary<libsecondlife.LLUUID, Avatar> Avatars; | 26 | protected Dictionary<libsecondlife.LLUUID, Avatar> Avatars; |
28 | protected Dictionary<libsecondlife.LLUUID, Primitive> Prims; | 27 | protected Dictionary<libsecondlife.LLUUID, Primitive> Prims; |
29 | public uint _localNumber = 0; | ||
30 | private PhysicsScene phyScene; | 28 | private PhysicsScene phyScene; |
31 | private float timeStep = 0.1f; | 29 | private float timeStep = 0.1f; |
32 | public ILocalStorage localStorage; | 30 | public ILocalStorage localStorage; |
@@ -59,6 +57,7 @@ namespace OpenSim.world | |||
59 | return (this.phyScene); | 57 | return (this.phyScene); |
60 | } | 58 | } |
61 | } | 59 | } |
60 | |||
62 | #endregion | 61 | #endregion |
63 | 62 | ||
64 | #region Constructors | 63 | #region Constructors |
@@ -155,7 +154,7 @@ namespace OpenSim.world | |||
155 | Entities[UUID].addForces(); | 154 | Entities[UUID].addForces(); |
156 | } | 155 | } |
157 | 156 | ||
158 | lock (this.LockPhysicsEngine) | 157 | lock (this.m_syncRoot) |
159 | { | 158 | { |
160 | this.phyScene.Simulate(timeStep); | 159 | this.phyScene.Simulate(timeStep); |
161 | } | 160 | } |
@@ -203,7 +202,7 @@ namespace OpenSim.world | |||
203 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "World.cs: Backup() - Terrain tainted, saving."); | 202 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "World.cs: Backup() - Terrain tainted, saving."); |
204 | localStorage.SaveMap(Terrain.getHeights1D()); | 203 | localStorage.SaveMap(Terrain.getHeights1D()); |
205 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "World.cs: Backup() - Terrain saved, informing Physics."); | 204 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "World.cs: Backup() - Terrain saved, informing Physics."); |
206 | lock (this.LockPhysicsEngine) | 205 | lock (this.m_syncRoot) |
207 | { | 206 | { |
208 | phyScene.SetTerrain(Terrain.getHeights1D()); | 207 | phyScene.SetTerrain(Terrain.getHeights1D()); |
209 | } | 208 | } |
@@ -297,7 +296,7 @@ namespace OpenSim.world | |||
297 | { | 296 | { |
298 | Terrain.hills(); | 297 | Terrain.hills(); |
299 | 298 | ||
300 | lock (this.LockPhysicsEngine) | 299 | lock (this.m_syncRoot) |
301 | { | 300 | { |
302 | this.phyScene.SetTerrain(Terrain.getHeights1D()); | 301 | this.phyScene.SetTerrain(Terrain.getHeights1D()); |
303 | } | 302 | } |
@@ -328,7 +327,7 @@ namespace OpenSim.world | |||
328 | try | 327 | try |
329 | { | 328 | { |
330 | this.Terrain.setHeights2D(newMap); | 329 | this.Terrain.setHeights2D(newMap); |
331 | lock (this.LockPhysicsEngine) | 330 | lock (this.m_syncRoot) |
332 | { | 331 | { |
333 | this.phyScene.SetTerrain(this.Terrain.getHeights1D()); | 332 | this.phyScene.SetTerrain(this.Terrain.getHeights1D()); |
334 | } | 333 | } |
@@ -483,7 +482,7 @@ namespace OpenSim.world | |||
483 | this.estateManager.sendRegionHandshake(remoteClient); | 482 | this.estateManager.sendRegionHandshake(remoteClient); |
484 | 483 | ||
485 | PhysicsVector pVec = new PhysicsVector(newAvatar.Pos.X, newAvatar.Pos.Y, newAvatar.Pos.Z); | 484 | PhysicsVector pVec = new PhysicsVector(newAvatar.Pos.X, newAvatar.Pos.Y, newAvatar.Pos.Z); |
486 | lock (this.LockPhysicsEngine) | 485 | lock (this.m_syncRoot) |
487 | { | 486 | { |
488 | newAvatar.PhysActor = this.phyScene.AddAvatar(pVec); | 487 | newAvatar.PhysActor = this.phyScene.AddAvatar(pVec); |
489 | } | 488 | } |
@@ -612,5 +611,10 @@ namespace OpenSim.world | |||
612 | } | 611 | } |
613 | 612 | ||
614 | #endregion | 613 | #endregion |
614 | |||
615 | public override void SendLayerData(int px, int py, IClientAPI RemoteClient) | ||
616 | { | ||
617 | RemoteClient.SendLayerData( Terrain.getHeights1D() ); | ||
618 | } | ||
615 | } | 619 | } |
616 | } | 620 | } |
diff --git a/OpenSim/OpenSim.World/WorldBase.cs b/OpenSim/OpenSim.World/WorldBase.cs index 19a8fb5..92bc6a3 100644 --- a/OpenSim/OpenSim.World/WorldBase.cs +++ b/OpenSim/OpenSim.World/WorldBase.cs | |||
@@ -15,61 +15,25 @@ using OpenSim.Terrain; | |||
15 | 15 | ||
16 | namespace OpenSim.world | 16 | namespace OpenSim.world |
17 | { | 17 | { |
18 | public class WorldBase : IWorld | 18 | public abstract class WorldBase : IWorld |
19 | { | 19 | { |
20 | public Dictionary<libsecondlife.LLUUID, Entity> Entities; | 20 | public Dictionary<libsecondlife.LLUUID, Entity> Entities; |
21 | protected Dictionary<uint, IClientAPI> m_clientThreads; | 21 | protected Dictionary<uint, IClientAPI> m_clientThreads; |
22 | protected ulong m_regionHandle; | 22 | protected ulong m_regionHandle; |
23 | protected string m_regionName; | 23 | protected string m_regionName; |
24 | // protected InventoryCache _inventoryCache; | ||
25 | // protected AssetCache _assetCache; | ||
26 | protected RegionInfo m_regInfo; | 24 | protected RegionInfo m_regInfo; |
27 | 25 | ||
28 | public TerrainEngine Terrain; //TODO: Replace TerrainManager with this. | 26 | public TerrainEngine Terrain; //TODO: Replace TerrainManager with this. |
29 | protected libsecondlife.TerrainManager TerrainManager; // To be referenced via TerrainEngine | 27 | protected libsecondlife.TerrainManager TerrainManager; // To be referenced via TerrainEngine |
30 | 28 | protected object m_syncRoot = new object(); | |
31 | #region Properties | 29 | private uint m_nextLocalId = 8880000; |
32 | /* | ||
33 | public InventoryCache InventoryCache | ||
34 | { | ||
35 | set | ||
36 | { | ||
37 | this._inventoryCache = value; | ||
38 | } | ||
39 | } | ||
40 | |||
41 | public AssetCache AssetCache | ||
42 | { | ||
43 | set | ||
44 | { | ||
45 | this._assetCache = value; | ||
46 | } | ||
47 | } | ||
48 | */ | ||
49 | #endregion | ||
50 | |||
51 | #region Constructors | ||
52 | /// <summary> | ||
53 | /// | ||
54 | /// </summary> | ||
55 | public WorldBase() | ||
56 | { | ||
57 | |||
58 | } | ||
59 | #endregion | ||
60 | |||
61 | #region Setup Methods | ||
62 | |||
63 | #endregion | ||
64 | 30 | ||
65 | #region Update Methods | 31 | #region Update Methods |
66 | /// <summary> | 32 | /// <summary> |
67 | /// Normally called once every frame/tick to let the world preform anything required (like running the physics simulation) | 33 | /// Normally called once every frame/tick to let the world preform anything required (like running the physics simulation) |
68 | /// </summary> | 34 | /// </summary> |
69 | public virtual void Update() | 35 | public abstract void Update(); |
70 | { | ||
71 | 36 | ||
72 | } | ||
73 | #endregion | 37 | #endregion |
74 | 38 | ||
75 | #region Terrain Methods | 39 | #region Terrain Methods |
@@ -77,11 +41,8 @@ namespace OpenSim.world | |||
77 | /// <summary> | 41 | /// <summary> |
78 | /// Loads the World heightmap | 42 | /// Loads the World heightmap |
79 | /// </summary> | 43 | /// </summary> |
80 | public virtual void LoadWorldMap() | 44 | public abstract void LoadWorldMap(); |
81 | { | 45 | |
82 | |||
83 | } | ||
84 | |||
85 | /// <summary> | 46 | /// <summary> |
86 | /// Send the region heightmap to the client | 47 | /// Send the region heightmap to the client |
87 | /// </summary> | 48 | /// </summary> |
@@ -97,10 +58,8 @@ namespace OpenSim.world | |||
97 | /// <param name="px">Patch coordinate (x) 0..16</param> | 58 | /// <param name="px">Patch coordinate (x) 0..16</param> |
98 | /// <param name="py">Patch coordinate (y) 0..16</param> | 59 | /// <param name="py">Patch coordinate (y) 0..16</param> |
99 | /// <param name="RemoteClient">The client to send to</param> | 60 | /// <param name="RemoteClient">The client to send to</param> |
100 | public void SendLayerData(int px, int py, IClientAPI RemoteClient) | 61 | public abstract void SendLayerData(int px, int py, IClientAPI RemoteClient); |
101 | { | 62 | |
102 | |||
103 | } | ||
104 | #endregion | 63 | #endregion |
105 | 64 | ||
106 | #region Add/Remove Agent/Avatar | 65 | #region Add/Remove Agent/Avatar |
@@ -110,39 +69,43 @@ namespace OpenSim.world | |||
110 | /// <param name="remoteClient"></param> | 69 | /// <param name="remoteClient"></param> |
111 | /// <param name="agentID"></param> | 70 | /// <param name="agentID"></param> |
112 | /// <param name="child"></param> | 71 | /// <param name="child"></param> |
113 | public virtual void AddNewAvatar(IClientAPI remoteClient, LLUUID agentID, bool child) | 72 | public abstract void AddNewAvatar(IClientAPI remoteClient, LLUUID agentID, bool child); |
114 | { | 73 | |
115 | return ; | ||
116 | } | ||
117 | |||
118 | /// <summary> | 74 | /// <summary> |
119 | /// | 75 | /// |
120 | /// </summary> | 76 | /// </summary> |
121 | /// <param name="agentID"></param> | 77 | /// <param name="agentID"></param> |
122 | public virtual void RemoveAvatar(LLUUID agentID) | 78 | public abstract void RemoveAvatar(LLUUID agentID); |
123 | { | 79 | |
124 | return ; | ||
125 | } | ||
126 | |||
127 | #endregion | 80 | #endregion |
128 | 81 | ||
129 | /// <summary> | 82 | /// <summary> |
130 | /// | 83 | /// |
131 | /// </summary> | 84 | /// </summary> |
132 | /// <returns></returns> | 85 | /// <returns></returns> |
133 | public virtual RegionInfo GetRegionInfo() | 86 | public virtual RegionInfo RegionInfo |
87 | { | ||
88 | get { return null; } | ||
89 | } | ||
90 | |||
91 | public object SyncRoot | ||
92 | { | ||
93 | get { return m_syncRoot; } | ||
94 | } | ||
95 | |||
96 | public uint NextLocalId | ||
134 | { | 97 | { |
135 | return null; | 98 | get { return m_nextLocalId++; } |
136 | } | 99 | } |
137 | 100 | ||
138 | #region Shutdown | 101 | #region Shutdown |
139 | /// <summary> | 102 | /// <summary> |
140 | /// Tidy before shutdown | 103 | /// Tidy before shutdown |
141 | /// </summary> | 104 | /// </summary> |
142 | public virtual void Close() | 105 | public abstract void Close(); |
143 | { | ||
144 | 106 | ||
145 | } | ||
146 | #endregion | 107 | #endregion |
108 | |||
109 | |||
147 | } | 110 | } |
148 | } | 111 | } |