refactor: Add SOP.IsSitTargetOccupied to improve readability
parent
69a6f6e3cd
commit
c8f0d476d2
|
@ -135,6 +135,11 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
get { return ParentGroup.RootPart == this; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Is the sit target of this part occupied?
|
||||
/// </summary>
|
||||
public bool IsSitTargetOccupied { get { return SitTargetAvatar != UUID.Zero; } }
|
||||
|
||||
/// <summary>
|
||||
/// Is an explicit sit target set for this part?
|
||||
/// </summary>
|
||||
|
@ -736,7 +741,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
|
||||
// TODO if we decide to do sitting in a more SL compatible way (multiple avatars per prim), this has to be fixed, too
|
||||
if (SitTargetAvatar != UUID.Zero)
|
||||
if (IsSitTargetOccupied)
|
||||
{
|
||||
ScenePresence avatar;
|
||||
if (ParentGroup.Scene.TryGetScenePresence(SitTargetAvatar, out avatar))
|
||||
|
|
|
@ -1846,7 +1846,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
//look for prims with explicit sit targets that are available
|
||||
foreach (SceneObjectPart part in partArray)
|
||||
{
|
||||
if (part.IsSitTargetSet && part.SitTargetAvatar == UUID.Zero)
|
||||
if (part.IsSitTargetSet && !part.IsSitTargetOccupied)
|
||||
{
|
||||
//switch the target to this prim
|
||||
return part;
|
||||
|
@ -1878,7 +1878,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
if (part.IsSitTargetSet)
|
||||
{
|
||||
if (part.SitTargetAvatar == UUID.Zero)
|
||||
if (!part.IsSitTargetOccupied)
|
||||
{
|
||||
// m_log.DebugFormat(
|
||||
// "[SCENE PRESENCE]: Sitting {0} on {1} {2} because sit target is set and unoccupied",
|
||||
|
|
Loading…
Reference in New Issue