public static void HandleHousingSetPrivacyLevel(WorldSession session, ClientHousingSetPrivacyLevel housingSetPrivacyLevel) { if (!(session.Player.Map is ResidenceMap residenceMap)) { throw new InvalidPacketValueException(); } residenceMap.SetPrivacyLevel(session.Player, housingSetPrivacyLevel); }
/// <summary> /// Set <see cref="ResidencePrivacyLevel"/>, this is called directly from a packet hander. /// </summary> public void SetPrivacyLevel(Player player, ClientHousingSetPrivacyLevel housingSetPrivacyLevel) { if (!residence.CanModifyResidence(player.CharacterId)) { throw new InvalidPacketValueException(); } residence.PrivacyLevel = housingSetPrivacyLevel.PrivacyLevel; SendHousingPrivacy(); }
/// <summary> /// Set <see cref="ResidencePrivacyLevel"/>, this is called directly from a packet hander. /// </summary> public void SetPrivacyLevel(Player player, ClientHousingSetPrivacyLevel housingSetPrivacyLevel) { if (!residence.CanModifyResidence(player.CharacterId)) { throw new InvalidPacketValueException(); } if (housingSetPrivacyLevel.PrivacyLevel == ResidencePrivacyLevel.Public) { ResidenceManager.RegisterResidenceVists(residence.Id, residence.OwnerName, residence.Name); } else { ResidenceManager.DeregisterResidenceVists(residence.Id); } residence.PrivacyLevel = housingSetPrivacyLevel.PrivacyLevel; SendHousingPrivacy(); }
public static void HandleHousingSetPrivacyLevel(WorldSession session, ClientHousingSetPrivacyLevel housingSetPrivacyLevel) { if (session.Player.Map is not ResidenceMapInstance) { throw new InvalidPacketValueException(); } if (session.Player.ResidenceManager.Residence == null) { throw new InvalidPacketValueException(); } if (housingSetPrivacyLevel.PrivacyLevel == ResidencePrivacyLevel.Public) { GlobalResidenceManager.Instance.RegisterResidenceVists(session.Player.ResidenceManager.Residence, session.Player); } else { GlobalResidenceManager.Instance.DeregisterResidenceVists(session.Player.ResidenceManager.Residence.Id); } session.Player.ResidenceManager.SetResidencePrivacy(housingSetPrivacyLevel.PrivacyLevel); }