示例#1
0
        public static void HandleHousingFlagsUpdate(WorldSession session, ClientHousingFlagsUpdate flagsUpdate)
        {
            if (session.Player.Map is not ResidenceMapInstance residenceMap)
            {
                throw new InvalidPacketValueException();
            }

            residenceMap.UpdateResidenceFlags(flagsUpdate.TargetResidence, session.Player, flagsUpdate);
        }
示例#2
0
        public static void HandleHousingFlagsUpdate(WorldSession session, ClientHousingFlagsUpdate flagsUpdate)
        {
            if (!(session.Player.Map is ResidenceMap residenceMap))
            {
                throw new InvalidPacketValueException();
            }

            residenceMap.UpdateResidenceFlags(session.Player, flagsUpdate);
        }
示例#3
0
        /// <summary>
        /// UpdateResidenceFlags <see cref="Residence"/>, this is called directly from a packet hander.
        /// </summary>
        public void UpdateResidenceFlags(Player player, ClientHousingFlagsUpdate flagsUpdate)
        {
            if (!residence.CanModifyResidence(player.CharacterId))
            {
                throw new InvalidPacketValueException();
            }

            residence.Flags           = flagsUpdate.Flags;
            residence.ResourceSharing = flagsUpdate.ResourceSharing;
            residence.GardenSharing   = flagsUpdate.GardenSharing;

            SendHousingProperties();
        }