aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-10-17 01:42:31 +0100
committerJustin Clark-Casey (justincc)2011-10-17 01:42:31 +0100
commit0c041ce12f393367e2754e88d9b8dad5e45f88c4 (patch)
treeac02f32cda8bd7056e1ebbf0c037d9979d808d2b /OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
parentGuard HGAssetService against uninitialized variables and null arguments. (diff)
downloadopensim-SC-0c041ce12f393367e2754e88d9b8dad5e45f88c4.zip
opensim-SC-0c041ce12f393367e2754e88d9b8dad5e45f88c4.tar.gz
opensim-SC-0c041ce12f393367e2754e88d9b8dad5e45f88c4.tar.bz2
opensim-SC-0c041ce12f393367e2754e88d9b8dad5e45f88c4.tar.xz
Implement osNpcSit(). This is still in development so don't trust it
Format is osNpcSit(<npc-uuid>, <target-uuid>, OS_NPC_SIT_IMMEDIATE) e.g. osNpcSit(npc, llGetKey(), OS_NPC_SIT_IMMEDIATE); At the moment, sit only succeeds if the part has a sit target set. NPC immediately sits on the target even if miles away - they do not walk up to it. This method is in development - it may change so please don't trust it yet. Standing will follow shortly since that's kind of important once you're sitting :)
Diffstat (limited to 'OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs')
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs24
1 files changed, 24 insertions, 0 deletions
diff --git a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
index 49c06bc..c5be0b6 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
@@ -229,5 +229,29 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
229 Assert.That(distanceToTarget, Is.LessThan(1), "NPC not within 1 unit of target position on second move"); 229 Assert.That(distanceToTarget, Is.LessThan(1), "NPC not within 1 unit of target position on second move");
230 Assert.That(npc.AbsolutePosition, Is.EqualTo(targetPos)); 230 Assert.That(npc.AbsolutePosition, Is.EqualTo(targetPos));
231 } 231 }
232
233 [Test]
234 public void TestSit()
235 {
236 TestHelpers.InMethod();
237// log4net.Config.XmlConfigurator.Configure();
238
239 ScenePresence sp = SceneHelpers.AddScenePresence(scene, TestHelpers.ParseTail(0x1));
240
241 Vector3 startPos = new Vector3(128, 128, 30);
242 INPCModule npcModule = scene.RequestModuleInterface<INPCModule>();
243 UUID npcId = npcModule.CreateNPC("John", "Smith", startPos, scene, sp.Appearance);
244
245 ScenePresence npc = scene.GetScenePresence(npcId);
246 SceneObjectPart part = SceneHelpers.AddSceneObject(scene);
247
248 // We must have a non Vector3.Zero sit target position otherwise part.SitTargetAvatar doesn't get set!
249 part.SitTargetPosition = new Vector3(0, 0, 1);
250 npcModule.Sit(npc.UUID, part.UUID, scene);
251
252 // Assertions?
253 Assert.That(part.SitTargetAvatar, Is.EqualTo(npcId));
254 Assert.That(npc.ParentID, Is.EqualTo(part.LocalId));
255 }
232 } 256 }
233} \ No newline at end of file 257} \ No newline at end of file