mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 02:05:34 +08:00
Overload INPCModule.CreateNPC() to allow agentID to be specified. Note: this is intended for use in region modules and is not exposed to scripts.
This commit is contained in:
@@ -61,7 +61,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
private readonly string m_firstname;
|
||||
private readonly string m_lastname;
|
||||
private readonly Vector3 m_startPos;
|
||||
private readonly UUID m_uuid = UUID.Random();
|
||||
private readonly UUID m_uuid;
|
||||
private readonly Scene m_scene;
|
||||
private readonly UUID m_ownerID;
|
||||
|
||||
@@ -71,6 +71,19 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
m_firstname = firstname;
|
||||
m_lastname = lastname;
|
||||
m_startPos = position;
|
||||
m_uuid = UUID.Random();
|
||||
m_scene = scene;
|
||||
m_ownerID = ownerID;
|
||||
SenseAsAgent = senseAsAgent;
|
||||
}
|
||||
|
||||
public NPCAvatar(
|
||||
string firstname, string lastname, UUID agentID, Vector3 position, UUID ownerID, bool senseAsAgent, Scene scene)
|
||||
{
|
||||
m_firstname = firstname;
|
||||
m_lastname = lastname;
|
||||
m_startPos = position;
|
||||
m_uuid = agentID;
|
||||
m_scene = scene;
|
||||
m_ownerID = ownerID;
|
||||
SenseAsAgent = senseAsAgent;
|
||||
|
||||
@@ -140,8 +140,30 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
Vector3 position, UUID owner, bool senseAsAgent, Scene scene,
|
||||
AvatarAppearance appearance)
|
||||
{
|
||||
NPCAvatar npcAvatar = new NPCAvatar(firstname, lastname, position,
|
||||
owner, senseAsAgent, scene);
|
||||
return CreateNPC(firstname, lastname, position, UUID.Zero, owner, senseAsAgent, scene, appearance);
|
||||
}
|
||||
|
||||
public UUID CreateNPC(string firstname, string lastname,
|
||||
Vector3 position, UUID agentID, UUID owner, bool senseAsAgent, Scene scene,
|
||||
AvatarAppearance appearance)
|
||||
{
|
||||
NPCAvatar npcAvatar = null;
|
||||
|
||||
try
|
||||
{
|
||||
if (agentID == UUID.Zero)
|
||||
npcAvatar = new NPCAvatar(firstname, lastname, position,
|
||||
owner, senseAsAgent, scene);
|
||||
else
|
||||
npcAvatar = new NPCAvatar(firstname, lastname, agentID, position,
|
||||
owner, senseAsAgent, scene);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.Info("[NPC MODULE]: exception creating NPC avatar: " + e.ToString());
|
||||
return UUID.Zero;
|
||||
}
|
||||
|
||||
npcAvatar.CircuitCode = (uint)Util.RandomClass.Next(0,
|
||||
int.MaxValue);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user