aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Interfaces/INPCModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Interfaces/INPCModule.cs')
-rw-r--r--OpenSim/Region/Framework/Interfaces/INPCModule.cs47
1 files changed, 41 insertions, 6 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/INPCModule.cs b/OpenSim/Region/Framework/Interfaces/INPCModule.cs
index fa8d6b6..5e5c4a1 100644
--- a/OpenSim/Region/Framework/Interfaces/INPCModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/INPCModule.cs
@@ -26,6 +26,7 @@
26 */ 26 */
27 27
28using OpenMetaverse; 28using OpenMetaverse;
29using OpenSim.Framework;
29using OpenSim.Region.Framework.Scenes; 30using OpenSim.Region.Framework.Scenes;
30 31
31namespace OpenSim.Region.Framework.Interfaces 32namespace OpenSim.Region.Framework.Interfaces
@@ -39,9 +40,26 @@ namespace OpenSim.Region.Framework.Interfaces
39 /// <param name="lastname"></param> 40 /// <param name="lastname"></param>
40 /// <param name="position"></param> 41 /// <param name="position"></param>
41 /// <param name="scene"></param> 42 /// <param name="scene"></param>
42 /// <param name="cloneAppearanceFrom">The UUID of the avatar from which to clone the NPC's appearance from.</param> 43 /// <param name="appearance">The avatar appearance to use for the new NPC.</param>
43 /// <returns>The UUID of the ScenePresence created.</returns> 44 /// <returns>The UUID of the ScenePresence created.</returns>
44 UUID CreateNPC(string firstname, string lastname, Vector3 position, Scene scene, UUID cloneAppearanceFrom); 45 UUID CreateNPC(string firstname, string lastname, Vector3 position, Scene scene, AvatarAppearance appearance);
46
47 /// <summary>
48 /// Check if the agent is an NPC.
49 /// </summary>
50 /// <param name="agentID"></param>
51 /// <param name="scene"></param>
52 /// <returns>True if the agent is an NPC in the given scene. False otherwise.</returns>
53 bool IsNPC(UUID agentID, Scene scene);
54
55 /// <summary>
56 /// Set the appearance for an NPC.
57 /// </summary>
58 /// <param name="agentID"></param>
59 /// <param name="appearance"></param>
60 /// <param name="scene"></param>
61 /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns>
62 bool SetNPCAppearance(UUID agentID, AvatarAppearance appearance, Scene scene);
45 63
46 /// <summary> 64 /// <summary>
47 /// Move an NPC to a target over time. 65 /// Move an NPC to a target over time.
@@ -49,7 +67,23 @@ namespace OpenSim.Region.Framework.Interfaces
49 /// <param name="agentID">The UUID of the NPC</param> 67 /// <param name="agentID">The UUID of the NPC</param>
50 /// <param name="scene"></param> 68 /// <param name="scene"></param>
51 /// <param name="pos"></param> 69 /// <param name="pos"></param>
52 void MoveToTarget(UUID agentID, Scene scene, Vector3 pos); 70 /// <param name="noFly">
71 /// If true, then the avatar will attempt to walk to the location even if it's up in the air.
72 /// This is to allow walking on prims.
73 /// </param>
74 /// <param name="landAtTarget">
75 /// If true and the avatar is flying when it reaches the target, land.
76 /// </param>
77 /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns>
78 bool MoveToTarget(UUID agentID, Scene scene, Vector3 pos, bool noFly, bool landAtTarget);
79
80 /// <summary>
81 /// Stop the NPC's current movement.
82 /// </summary>
83 /// <param name="agentID">The UUID of the NPC</param>
84 /// <param name="scene"></param>
85 /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns>
86 bool StopMoveToTarget(UUID agentID, Scene scene);
53 87
54 /// <summary> 88 /// <summary>
55 /// Get the NPC to say something. 89 /// Get the NPC to say something.
@@ -57,14 +91,15 @@ namespace OpenSim.Region.Framework.Interfaces
57 /// <param name="agentID">The UUID of the NPC</param> 91 /// <param name="agentID">The UUID of the NPC</param>
58 /// <param name="scene"></param> 92 /// <param name="scene"></param>
59 /// <param name="text"></param> 93 /// <param name="text"></param>
60 void Say(UUID agentID, Scene scene, string text); 94 /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns>
61 95 bool Say(UUID agentID, Scene scene, string text);
62 96
63 /// <summary> 97 /// <summary>
64 /// Delete an NPC. 98 /// Delete an NPC.
65 /// </summary> 99 /// </summary>
66 /// <param name="agentID">The UUID of the NPC</param> 100 /// <param name="agentID">The UUID of the NPC</param>
67 /// <param name="scene"></param> 101 /// <param name="scene"></param>
68 void DeleteNPC(UUID agentID, Scene scene); 102 /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns>
103 bool DeleteNPC(UUID agentID, Scene scene);
69 } 104 }
70} \ No newline at end of file 105} \ No newline at end of file