#pragma once #include "dCommonVars.h" #include "RakNetTypes.h" #include "NiPoint3.h" #include "NiQuaternion.h" #include "Component.h" #include "eReplicaComponentType.h" class Entity; /** * Component that represents entities that are a model, e.g. collectible models and BBB models. */ class MutableModelBehaviorComponent : public Component { public: static const eReplicaComponentType ComponentType = eReplicaComponentType::MODEL; MutableModelBehaviorComponent(Entity* parent); void Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags); private: /** * if the behavior info has changed */ bool m_DirtyModelBehaviorInfo; /** * The number of behaviors on the model */ uint32_t m_BehaviorCount; /** * if the models behaviors are paused */ bool m_IsPaused; /** * if the editing info is dirty */ bool m_DirtyModelEditingInfo; /** * The old ID of the model */ LWOOBJID m_OldObjId; /** * The ID of the editor of the model */ LWOOBJID m_Editor; };