diff options
author | Justin Clark-Casey (justincc) | 2011-10-17 01:42:31 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-10-17 01:42:31 +0100 |
commit | 0c041ce12f393367e2754e88d9b8dad5e45f88c4 (patch) | |
tree | ac02f32cda8bd7056e1ebbf0c037d9979d808d2b /OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs | |
parent | Guard HGAssetService against uninitialized variables and null arguments. (diff) | |
download | opensim-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.cs | 24 |
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 |