85 return aura->GetCastId() == _createdBySpellCast;
121 _Create(ObjectGuid::Create<HighGuid::SceneObject>(
GetMapId(), sceneId, lowGuid));
135 if (!
GetMap()->AddToMap(
this))
163 if (requestedObjectMask.IsAnySet())
166 if (requestedSceneObjectMask.IsAnySet())
170 std::size_t sizePos = buffer.
wpos();
176 m_objectData->WriteUpdate(requestedObjectMask, buffer, target,
this, ignoreNestedChangesMask);
179 m_sceneObjectData->WriteUpdate(requestedSceneObjectMask, buffer, target,
this, ignoreNestedChangesMask);
constexpr std::underlying_type< E >::type AsUnderlyingType(E enumValue)
ObjectGuid const & GetGUID() const
void SetUpdateFieldValue(UF::UpdateFieldPrivateSetter< T > setter, typename UF::UpdateFieldPrivateSetter< T >::value_type value)
WowCS::EntityFragmentsHolder m_entityFragments
UF::UpdateFieldHolder m_values
void _Create(ObjectGuid const &guid)
CreateObjectBits m_updateFlag
ByteBuffer & PrepareValuesUpdateBuffer(UpdateData *data) const
virtual UF::UpdateFieldFlag GetUpdateFieldFlagsFor(Player const *target) const
void put(std::size_t pos, T value)
MapStoredObjectTypesContainer & GetObjectsStore()
ObjectGuid::LowType GenerateLowGuid()
void BuildEntityFragmentsForValuesUpdateForPlayerWithMask(ByteBuffer &data, EnumFlag< UF::UpdateFieldFlag > flags) const
void SetEntry(uint32 entry)
virtual void ClearValuesChangesMask()
virtual void SetObjectScale(float scale)
UF::UpdateField< UF::ObjectData, int32(WowCS::EntityFragment::CGObject), TYPEID_OBJECT > m_objectData
static void InheritPhaseShift(WorldObject *target, WorldObject const *source)
void SendDirectMessage(WorldPacket const *data) const
void BuildValuesUpdate(UF::UpdateFieldFlag flags, ByteBuffer &data, Player const *target) const override
void RemoveFromWorld() override
void BuildValuesUpdateForPlayerWithMask(UpdateData *data, UF::ObjectData::Mask const &requestedObjectMask, UF::SceneObjectData::Mask const &requestedSceneObjectMask, Player const *target, bool ignoreNestedChangesMask) const
bool ShouldBeRemoved() const
void RelocateStationaryPosition(Position const &pos)
ObjectGuid GetOwnerGUID() const override
void AddToWorld() override
static SceneObject * CreateSceneObject(uint32 sceneId, Unit *creator, Position const &pos, ObjectGuid privateObjectOwner)
ObjectGuid _createdBySpellCast
UF::UpdateField< UF::SceneObjectData, int32(WowCS::EntityFragment::CGObject), TYPEID_SCENEOBJECT > m_sceneObjectData
void BuildValuesCreate(UF::UpdateFieldFlag flags, ByteBuffer &data, Player const *target) const override
bool Create(ObjectGuid::LowType lowGuid, SceneType type, uint32 sceneId, uint32 scriptPackageId, Map *map, Unit *creator, Position const &pos, ObjectGuid privateObjectOwner)
void ClearValuesChangesMask() override
void Update(uint32 diff) override
Mask const & GetChangesMask() const
MutableFieldReference< T, false > ModifyValue(UpdateField< T, BlockBit, Bit >(Derived::*field))
void ClearChangesMask(UpdateField< T, BlockBit, Bit >(Derived::*field))
bool HasChanged(uint32 index) const
uint32 GetChangedObjectTypeMask() const
Aura * GetAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
bool BuildPacket(WorldPacket *packet)
constexpr uint32 GetBlock(uint32 index) const
constexpr void Set(uint32 index)
constexpr uint32 GetMapId() const
void AddToWorld() override
void RemoveFromWorld() override
void SetPrivateObjectOwner(ObjectGuid const &owner)
virtual void SetMap(Map *map)
void AddObjectToRemoveList()
void UpdatePositionData()
virtual void Update(uint32 diff)
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
constexpr void Relocate(float x, float y)
void operator()(Player const *player) const
UF::ObjectData::Base ObjectMask
SceneObject const * Owner
UF::SceneObjectData::Base SceneObjectMask
bool IgnoreNestedChangesMask
bool Insert(ValueType< ObjectType > object)
bool Remove(ValueType< ObjectType > object)
UpdateField< uint32, 0, 4 > SceneType
UpdateField< int32, 0, 1 > ScriptPackageID
UpdateField< ObjectGuid, 0, 3 > CreatedBy
UpdateField< uint32, 0, 2 > RndSeedVal
void Add(EntityFragment fragment, bool update, void const *data=nullptr)