aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs42
1 files changed, 42 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 4b4e4ba..f16a8e6 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -118,6 +118,7 @@ namespace OpenSim.Region.Framework.Scenes
118 private bool m_hasGroupChanged = false; 118 private bool m_hasGroupChanged = false;
119 private long timeFirstChanged; 119 private long timeFirstChanged;
120 private long timeLastChanged; 120 private long timeLastChanged;
121 private List<ScenePresence> m_linkedAvatars = new List<ScenePresence>();
121 122
122 /// <summary> 123 /// <summary>
123 /// This indicates whether the object has changed such that it needs to be repersisted to permenant storage 124 /// This indicates whether the object has changed such that it needs to be repersisted to permenant storage
@@ -1096,6 +1097,7 @@ namespace OpenSim.Region.Framework.Scenes
1096 } 1097 }
1097 } 1098 }
1098 1099
1100
1099 /// <summary> 1101 /// <summary>
1100 /// 1102 ///
1101 /// </summary> 1103 /// </summary>
@@ -1105,6 +1107,46 @@ namespace OpenSim.Region.Framework.Scenes
1105 part.ParentID = m_rootPart.LocalId; 1107 part.ParentID = m_rootPart.LocalId;
1106 part.ClearUndoState(); 1108 part.ClearUndoState();
1107 } 1109 }
1110 /// <summary>
1111 /// Add the avatar to this linkset (avatar is sat).
1112 /// </summary>
1113 /// <param name="agentID"></param>
1114 public void AddAvatar(UUID agentID)
1115 {
1116 ScenePresence presence;
1117 if (m_scene.TryGetScenePresence(agentID, out presence))
1118 {
1119 if (!m_linkedAvatars.Contains(presence))
1120 {
1121 m_linkedAvatars.Add(presence);
1122 }
1123 }
1124 }
1125
1126 /// <summary>
1127 /// Delete the avatar from this linkset (avatar is unsat).
1128 /// </summary>
1129 /// <param name="agentID"></param>
1130 public void DeleteAvatar(UUID agentID)
1131 {
1132 ScenePresence presence;
1133 if (m_scene.TryGetScenePresence(agentID, out presence))
1134 {
1135 if (m_linkedAvatars.Contains(presence))
1136 {
1137 m_linkedAvatars.Remove(presence);
1138 }
1139 }
1140 }
1141
1142 /// <summary>
1143 /// Returns the list of linked presences (avatars sat on this group)
1144 /// </summary>
1145 /// <param name="agentID"></param>
1146 public List<ScenePresence> GetLinkedAvatars()
1147 {
1148 return m_linkedAvatars;
1149 }
1108 1150
1109 public ushort GetTimeDilation() 1151 public ushort GetTimeDilation()
1110 { 1152 {