public void UpdateAvatar(Avatar a) { //Basic profile properties AvatarPropertiesUpdatePacket apup = new AvatarPropertiesUpdatePacket(); AvatarPropertiesUpdatePacket.AgentDataBlock adb = new AvatarPropertiesUpdatePacket.AgentDataBlock(); adb.AgentID = a.ID; adb.SessionID = Client.Network.SessionID; apup.AgentData = adb; AvatarPropertiesUpdatePacket.PropertiesDataBlock pdb = new AvatarPropertiesUpdatePacket.PropertiesDataBlock(); pdb.AllowPublish = a.AllowPublish; pdb.FLAboutText = Helpers.StringToField(a.FirstLifeText); pdb.FLImageID = a.FirstLifeImage; pdb.ImageID = a.ProfileImage; pdb.MaturePublish = a.MaturePublish; pdb.ProfileURL = Helpers.StringToField(a.ProfileURL); apup.PropertiesData = pdb; //Intrests AvatarInterestsUpdatePacket aiup = new AvatarInterestsUpdatePacket(); AvatarInterestsUpdatePacket.AgentDataBlock iadb = new AvatarInterestsUpdatePacket.AgentDataBlock(); iadb.AgentID = a.ID; iadb.SessionID = Client.Network.SessionID; aiup.AgentData = iadb; AvatarInterestsUpdatePacket.PropertiesDataBlock ipdb = new AvatarInterestsUpdatePacket.PropertiesDataBlock(); ipdb.LanguagesText = Helpers.StringToField(a.LanguagesText); ipdb.SkillsMask = a.SkillsMask; ipdb.SkillsText = Helpers.StringToField(a.SkillsText); ipdb.WantToMask = a.WantToMask; ipdb.WantToText = Helpers.StringToField(a.WantToText); aiup.PropertiesData = ipdb; //Send packets Client.Network.SendPacket(apup); Client.Network.SendPacket(aiup); }
private void AvatarInterestsUpdateHandler(Packet packet, LLAgent agent) { AvatarInterestsUpdatePacket update = (AvatarInterestsUpdatePacket)packet; User user; if (m_userClient != null && m_userClient.TryGetUser(agent.ID, out user)) { OSDMap map = new OSDMap { { "WantMask", OSD.FromInteger((int)update.PropertiesData.WantToMask) }, { "WantText", OSD.FromString(Utils.BytesToString(update.PropertiesData.WantToText)) }, { "SkillsMask", OSD.FromInteger((int)update.PropertiesData.SkillsMask) }, { "SkillsText", OSD.FromString(Utils.BytesToString(update.PropertiesData.SkillsText)) }, { "Languages", OSD.FromString(Utils.BytesToString(update.PropertiesData.LanguagesText)) } }; m_userClient.UpdateUserFields(agent.ID, new OSDMap { { "LLInterests", map } }); } else { m_log.Warn("Could not find user " + agent.ID + ", not updating profile interests for " + agent.Name); SendAvatarInterests(agent, agent.ID, null); } }
/// <summary> /// Update agents profile interests /// </summary> /// <param name="interests">selection of interests from <seealso cref="T:OpenMetaverse.Avatar.Interests"/> struct</param> public void UpdateInterests(Avatar.Interests interests) { AvatarInterestsUpdatePacket aiup = new AvatarInterestsUpdatePacket(); aiup.AgentData.AgentID = id; aiup.AgentData.SessionID = sessionID; aiup.PropertiesData.LanguagesText = Utils.StringToBytes(interests.LanguagesText); aiup.PropertiesData.SkillsMask = interests.SkillsMask; aiup.PropertiesData.SkillsText = Utils.StringToBytes(interests.SkillsText); aiup.PropertiesData.WantToMask = interests.WantToMask; aiup.PropertiesData.WantToText = Utils.StringToBytes(interests.WantToText); Client.Network.SendPacket(aiup); }
/// <summary> /// Synchronize the local profile and interests information to the server /// </summary> public void SetAvatarInformation() { // Basic profile properties AvatarPropertiesUpdatePacket apup = new AvatarPropertiesUpdatePacket(); apup.AgentData.AgentID = this.ID; apup.AgentData.SessionID = Client.Network.SessionID; apup.PropertiesData.AboutText = Helpers.StringToField(this.ProfileProperties.AboutText); apup.PropertiesData.AllowPublish = this.ProfileProperties.AllowPublish; apup.PropertiesData.FLAboutText = Helpers.StringToField(this.ProfileProperties.FirstLifeText); apup.PropertiesData.FLImageID = this.ProfileProperties.FirstLifeImage; apup.PropertiesData.ImageID = this.ProfileProperties.ProfileImage; apup.PropertiesData.MaturePublish = this.ProfileProperties.MaturePublish; apup.PropertiesData.ProfileURL = Helpers.StringToField(this.ProfileProperties.ProfileURL); // Interests AvatarInterestsUpdatePacket aiup = new AvatarInterestsUpdatePacket(); aiup.AgentData.AgentID = this.ID; aiup.AgentData.SessionID = Client.Network.SessionID; aiup.PropertiesData.LanguagesText = Helpers.StringToField(this.ProfileInterests.LanguagesText); aiup.PropertiesData.SkillsMask = this.ProfileInterests.SkillsMask; aiup.PropertiesData.SkillsText = Helpers.StringToField(this.ProfileInterests.SkillsText); aiup.PropertiesData.WantToMask = this.ProfileInterests.WantToMask; aiup.PropertiesData.WantToText = Helpers.StringToField(this.ProfileInterests.WantToText); //Send packets Client.Network.SendPacket(apup); Client.Network.SendPacket(aiup); }
public void UpdateAvatar(Avatar a) { //Basic profile properties AvatarPropertiesUpdatePacket apup = new AvatarPropertiesUpdatePacket(); AvatarPropertiesUpdatePacket.AgentDataBlock adb = new AvatarPropertiesUpdatePacket.AgentDataBlock(); adb.AgentID = a.ID; adb.SessionID = Client.Network.SessionID; apup.AgentData = adb; AvatarPropertiesUpdatePacket.PropertiesDataBlock pdb = new AvatarPropertiesUpdatePacket.PropertiesDataBlock(); pdb.AllowPublish = a.AllowPublish; pdb.FLAboutText = Helpers.StringToField(a.FirstLifeText); pdb.FLImageID = a.FirstLifeImage; pdb.ImageID = a.ProfileImage; pdb.MaturePublish = a.MaturePublish; pdb.ProfileURL = Helpers.StringToField(a.ProfileURL); apup.PropertiesData = pdb; //Intrests AvatarInterestsUpdatePacket aiup = new AvatarInterestsUpdatePacket(); AvatarInterestsUpdatePacket.AgentDataBlock iadb = new AvatarInterestsUpdatePacket.AgentDataBlock(); iadb.AgentID = a.ID; iadb.SessionID = Client.Network.SessionID; aiup.AgentData = iadb; AvatarInterestsUpdatePacket.PropertiesDataBlock ipdb = new AvatarInterestsUpdatePacket.PropertiesDataBlock(); ipdb.LanguagesText = Helpers.StringToField(a.LanguagesText); ipdb.SkillsMask = a.SkillsMask; ipdb.SkillsText = Helpers.StringToField(a.SkillsText); ipdb.WantToMask = a.WantToMask; ipdb.WantToText = Helpers.StringToField(a.WantToText); aiup.PropertiesData = ipdb; //Send packets Client.Network.SendPacket(apup); Client.Network.SendPacket(aiup); }