diff options
Diffstat (limited to 'OpenSim/Region/Framework/Interfaces/INPCModule.cs')
-rw-r--r-- | OpenSim/Region/Framework/Interfaces/INPCModule.cs | 73 |
1 files changed, 69 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/INPCModule.cs b/OpenSim/Region/Framework/Interfaces/INPCModule.cs index 21a755f..5e5c4a1 100644 --- a/OpenSim/Region/Framework/Interfaces/INPCModule.cs +++ b/OpenSim/Region/Framework/Interfaces/INPCModule.cs | |||
@@ -26,15 +26,80 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using OpenMetaverse; | 28 | using OpenMetaverse; |
29 | using OpenSim.Framework; | ||
29 | using OpenSim.Region.Framework.Scenes; | 30 | using OpenSim.Region.Framework.Scenes; |
30 | 31 | ||
31 | namespace OpenSim.Region.Framework.Interfaces | 32 | namespace OpenSim.Region.Framework.Interfaces |
32 | { | 33 | { |
33 | public interface INPCModule | 34 | public interface INPCModule |
34 | { | 35 | { |
35 | UUID CreateNPC(string firstname, string lastname, Vector3 position, Scene scene, UUID cloneAppearanceFrom); | 36 | /// <summary> |
36 | void Autopilot(UUID agentID, Scene scene, Vector3 pos); | 37 | /// Create an NPC |
37 | void Say(UUID agentID, Scene scene, string text); | 38 | /// </summary> |
38 | void DeleteNPC(UUID agentID, Scene scene); | 39 | /// <param name="firstname"></param> |
40 | /// <param name="lastname"></param> | ||
41 | /// <param name="position"></param> | ||
42 | /// <param name="scene"></param> | ||
43 | /// <param name="appearance">The avatar appearance to use for the new NPC.</param> | ||
44 | /// <returns>The UUID of the ScenePresence created.</returns> | ||
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); | ||
63 | |||
64 | /// <summary> | ||
65 | /// Move an NPC to a target over time. | ||
66 | /// </summary> | ||
67 | /// <param name="agentID">The UUID of the NPC</param> | ||
68 | /// <param name="scene"></param> | ||
69 | /// <param name="pos"></param> | ||
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); | ||
87 | |||
88 | /// <summary> | ||
89 | /// Get the NPC to say something. | ||
90 | /// </summary> | ||
91 | /// <param name="agentID">The UUID of the NPC</param> | ||
92 | /// <param name="scene"></param> | ||
93 | /// <param name="text"></param> | ||
94 | /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns> | ||
95 | bool Say(UUID agentID, Scene scene, string text); | ||
96 | |||
97 | /// <summary> | ||
98 | /// Delete an NPC. | ||
99 | /// </summary> | ||
100 | /// <param name="agentID">The UUID of the NPC</param> | ||
101 | /// <param name="scene"></param> | ||
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); | ||
39 | } | 104 | } |
40 | } \ No newline at end of file | 105 | } \ No newline at end of file |