change XMLIrpgGroups attach to events, using the more correct
\addons\Groups\... modelavinationmerge
							parent
							
								
									2cc8e90bd2
								
							
						
					
					
						commit
						a0f26dc6ec
					
				|  | @ -1158,10 +1158,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
| 
 | ||||
|             m_scene.EventManager.TriggerSetRootAgentScene(m_uuid, m_scene); | ||||
| 
 | ||||
| /*   this is now done by groups module on TriggerOnMakeRootAgent(this)  below | ||||
|     at least XmlIRpcGroups | ||||
|             UUID groupUUID = UUID.Zero; | ||||
|             string GroupName = string.Empty; | ||||
|             ulong groupPowers = 0; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|                         // ---------------------------------- | ||||
|                         // Previous Agent Difference - AGNI sends an unsolicited AgentDataUpdate upon root agent status | ||||
|                         try | ||||
|  | @ -1185,7 +1190,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|                             m_log.Debug("[AGENTUPDATE]: " + e.ToString()); | ||||
|                         } | ||||
|                         // ------------------------------------ | ||||
| 
 | ||||
| */ | ||||
|                         if (ParentID == 0) | ||||
|                         { | ||||
|                             // Moved this from SendInitialData to ensure that Appearance is initialized | ||||
|  | @ -1270,7 +1275,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
|                         // and it has already rezzed the attachments and started their scripts. | ||||
|                         // We do the following only for non-login agents, because their scripts | ||||
|                         // haven't started yet. | ||||
| /* moved down | ||||
|             /* moved down | ||||
|                         if (PresenceType == PresenceType.Npc || (TeleportFlags & TeleportFlags.ViaLogin) != 0) | ||||
|                         { | ||||
|                             // Viewers which have a current outfit folder will actually rez their own attachments.  However, | ||||
|  | @ -1279,8 +1284,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
|                                 Util.FireAndForget( | ||||
|                                     o =>  | ||||
|                                     {  | ||||
| //                            if (PresenceType != PresenceType.Npc && Util.FireAndForgetMethod != FireAndForgetMethod.None)  | ||||
| //                                System.Threading.Thread.Sleep(7000);  | ||||
|             //                            if (PresenceType != PresenceType.Npc && Util.FireAndForgetMethod != FireAndForgetMethod.None)  | ||||
|             //                                System.Threading.Thread.Sleep(7000);  | ||||
| 
 | ||||
|                                         Scene.AttachmentsModule.RezAttachments(this);  | ||||
|                                     }); | ||||
|  | @ -1320,15 +1325,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
|                                 // Resume scripts  this possible should also be moved down after sending the avatar to viewer ? | ||||
|                                 foreach (SceneObjectGroup sog in attachments) | ||||
|                                 { | ||||
| // sending attachments before the avatar ? | ||||
| // moved to completemovement where it already was | ||||
| //                        sog.ScheduleGroupForFullUpdate(); | ||||
|             // sending attachments before the avatar ? | ||||
|             // moved to completemovement where it already was | ||||
|             //                        sog.ScheduleGroupForFullUpdate(); | ||||
|                                     sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource()); | ||||
|                                     sog.ResumeScripts(); | ||||
|                                 } | ||||
|                             } | ||||
|                         } | ||||
| */ | ||||
|             */ | ||||
| /*  | ||||
|             SendAvatarDataToAllAgents(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -195,6 +195,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|             } | ||||
| 
 | ||||
|             scene.EventManager.OnNewClient += OnNewClient; | ||||
|             scene.EventManager.OnMakeRootAgent += OnMakeRoot; | ||||
|             scene.EventManager.OnMakeChildAgent += OnMakeChild; | ||||
|             scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage; | ||||
|             // The InstantMessageModule itself doesn't do this,  | ||||
|             // so lets see if things explode if we don't do it | ||||
|  | @ -245,19 +247,34 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
|         #endregion | ||||
| 
 | ||||
|         #region EventHandlers | ||||
| 
 | ||||
|         private void OnMakeRoot(ScenePresence sp) | ||||
|         { | ||||
|             if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); | ||||
| 
 | ||||
|             sp.ControllingClient.OnUUIDGroupNameRequest += HandleUUIDGroupNameRequest; | ||||
|             // Used for Notices and Group Invites/Accept/Reject | ||||
|             sp.ControllingClient.OnInstantMessage += OnInstantMessage; | ||||
|             // Send client their groups information. | ||||
| //            SendAgentGroupDataUpdate(sp.ControllingClient, sp.UUID); | ||||
|             // only send data viwer will ask rest later | ||||
|             OnAgentDataUpdateRequest(sp.ControllingClient, sp.UUID, sp.UUID); | ||||
|         } | ||||
| 
 | ||||
|         private void OnMakeChild(ScenePresence sp) | ||||
|         { | ||||
|             if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); | ||||
| 
 | ||||
|             sp.ControllingClient.OnUUIDGroupNameRequest -= HandleUUIDGroupNameRequest; | ||||
|             sp.ControllingClient.OnInstantMessage -= OnInstantMessage; | ||||
|         } | ||||
|   | ||||
|         private void OnNewClient(IClientAPI client) | ||||
|         { | ||||
|             if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); | ||||
| 
 | ||||
|             client.OnUUIDGroupNameRequest += HandleUUIDGroupNameRequest; | ||||
|             client.OnAgentDataUpdateRequest += OnAgentDataUpdateRequest; | ||||
|             client.OnRequestAvatarProperties += OnRequestAvatarProperties; | ||||
| 
 | ||||
|             // Used for Notices and Group Invites/Accept/Reject | ||||
|             client.OnInstantMessage += OnInstantMessage; | ||||
| 
 | ||||
|             // Send client their groups information. | ||||
|             SendAgentGroupDataUpdate(client, client.AgentId); | ||||
|         } | ||||
| 
 | ||||
|         private void OnRequestAvatarProperties(IClientAPI remoteClient, UUID avatarID) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 UbitUmarov
						UbitUmarov