From de161585c0960a93911f446f0179441ba5470245 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 17 Oct 2011 01:56:25 +0100 Subject: Implement osNpcStand() Allows you to stand an NPC that has sat. --- OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs | 17 +++++++++++++++++ .../OptionalModules/World/NPC/Tests/NPCModuleTests.cs | 8 ++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/OptionalModules/World') 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 return false; } + public bool Stand(UUID agentID, Scene scene) + { + lock (m_avatars) + { + if (m_avatars.ContainsKey(agentID)) + { + ScenePresence sp; + scene.TryGetScenePresence(agentID, out sp); + sp.StandUp(); + + return true; + } + } + + return false; + } + public bool DeleteNPC(UUID agentID, Scene scene) { 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 } [Test] - public void TestSit() + public void TestSitAndStand() { TestHelpers.InMethod(); // log4net.Config.XmlConfigurator.Configure(); @@ -249,9 +249,13 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests part.SitTargetPosition = new Vector3(0, 0, 1); npcModule.Sit(npc.UUID, part.UUID, scene); - // Assertions? Assert.That(part.SitTargetAvatar, Is.EqualTo(npcId)); Assert.That(npc.ParentID, Is.EqualTo(part.LocalId)); + + npcModule.Stand(npc.UUID, scene); + + Assert.That(part.SitTargetAvatar, Is.EqualTo(UUID.Zero)); + Assert.That(npc.ParentID, Is.EqualTo(0)); } } } \ No newline at end of file -- cgit v1.1