diff options
author | Justin Clark-Casey (justincc) | 2011-10-17 01:56:25 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-10-17 01:56:25 +0100 |
commit | de161585c0960a93911f446f0179441ba5470245 (patch) | |
tree | dc32dcc61dabd6f45bc7220bf6f3d89b74268532 /OpenSim/Region/OptionalModules/World | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-de161585c0960a93911f446f0179441ba5470245.zip opensim-SC-de161585c0960a93911f446f0179441ba5470245.tar.gz opensim-SC-de161585c0960a93911f446f0179441ba5470245.tar.bz2 opensim-SC-de161585c0960a93911f446f0179441ba5470245.tar.xz |
Implement osNpcStand(<npc-id>)
Allows you to stand an NPC that has sat.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs | 17 | ||||
-rw-r--r-- | OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs | 8 |
2 files changed, 23 insertions, 2 deletions
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs index be73639..e94ed85 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs | |||
@@ -217,6 +217,23 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
217 | return false; | 217 | return false; |
218 | } | 218 | } |
219 | 219 | ||
220 | public bool Stand(UUID agentID, Scene scene) | ||
221 | { | ||
222 | lock (m_avatars) | ||
223 | { | ||
224 | if (m_avatars.ContainsKey(agentID)) | ||
225 | { | ||
226 | ScenePresence sp; | ||
227 | scene.TryGetScenePresence(agentID, out sp); | ||
228 | sp.StandUp(); | ||
229 | |||
230 | return true; | ||
231 | } | ||
232 | } | ||
233 | |||
234 | return false; | ||
235 | } | ||
236 | |||
220 | public bool DeleteNPC(UUID agentID, Scene scene) | 237 | public bool DeleteNPC(UUID agentID, Scene scene) |
221 | { | 238 | { |
222 | lock (m_avatars) | 239 | lock (m_avatars) |
diff --git a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs index c5be0b6..be1ecd0 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs | |||
@@ -231,7 +231,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests | |||
231 | } | 231 | } |
232 | 232 | ||
233 | [Test] | 233 | [Test] |
234 | public void TestSit() | 234 | public void TestSitAndStand() |
235 | { | 235 | { |
236 | TestHelpers.InMethod(); | 236 | TestHelpers.InMethod(); |
237 | // log4net.Config.XmlConfigurator.Configure(); | 237 | // log4net.Config.XmlConfigurator.Configure(); |
@@ -249,9 +249,13 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests | |||
249 | part.SitTargetPosition = new Vector3(0, 0, 1); | 249 | part.SitTargetPosition = new Vector3(0, 0, 1); |
250 | npcModule.Sit(npc.UUID, part.UUID, scene); | 250 | npcModule.Sit(npc.UUID, part.UUID, scene); |
251 | 251 | ||
252 | // Assertions? | ||
253 | Assert.That(part.SitTargetAvatar, Is.EqualTo(npcId)); | 252 | Assert.That(part.SitTargetAvatar, Is.EqualTo(npcId)); |
254 | Assert.That(npc.ParentID, Is.EqualTo(part.LocalId)); | 253 | Assert.That(npc.ParentID, Is.EqualTo(part.LocalId)); |
254 | |||
255 | npcModule.Stand(npc.UUID, scene); | ||
256 | |||
257 | Assert.That(part.SitTargetAvatar, Is.EqualTo(UUID.Zero)); | ||
258 | Assert.That(npc.ParentID, Is.EqualTo(0)); | ||
255 | } | 259 | } |
256 | } | 260 | } |
257 | } \ No newline at end of file | 261 | } \ No newline at end of file |