#include "ShootingGalleryComponent.h" #include "EntityManager.h" #include "ScriptedActivityComponent.h" void ShootingGalleryComponent::SetStaticParams(const StaticShootingGalleryParams& params) { m_StaticParams = params; } void ShootingGalleryComponent::SetDynamicParams(const DynamicShootingGalleryParams& params) { m_DynamicParams = params; m_Dirty = true; Game::entityManager->SerializeEntity(m_Parent); } void ShootingGalleryComponent::SetCurrentPlayerID(LWOOBJID playerID) { m_CurrentPlayerID = playerID; m_Dirty = true; AddActivityPlayerData(playerID); }; void ShootingGalleryComponent::Serialize(RakNet::BitStream& outBitStream, bool isInitialUpdate) { ActivityComponent::Serialize(outBitStream, isInitialUpdate); if (isInitialUpdate) { outBitStream.Write(m_StaticParams.cameraPosition.GetX()); outBitStream.Write(m_StaticParams.cameraPosition.GetY()); outBitStream.Write(m_StaticParams.cameraPosition.GetZ()); outBitStream.Write(m_StaticParams.cameraLookatPosition.GetX()); outBitStream.Write(m_StaticParams.cameraLookatPosition.GetY()); outBitStream.Write(m_StaticParams.cameraLookatPosition.GetZ()); } outBitStream.Write(m_Dirty || isInitialUpdate); if (m_Dirty || isInitialUpdate) { outBitStream.Write(m_DynamicParams.cannonVelocity); outBitStream.Write(m_DynamicParams.cannonRefireRate); outBitStream.Write(m_DynamicParams.cannonMinDistance); outBitStream.Write(m_DynamicParams.cameraBarrelOffset.GetX()); outBitStream.Write(m_DynamicParams.cameraBarrelOffset.GetY()); outBitStream.Write(m_DynamicParams.cameraBarrelOffset.GetZ()); outBitStream.Write(m_DynamicParams.cannonAngle); outBitStream.Write(m_DynamicParams.facing.GetX()); outBitStream.Write(m_DynamicParams.facing.GetY()); outBitStream.Write(m_DynamicParams.facing.GetZ()); outBitStream.Write(m_CurrentPlayerID); outBitStream.Write(m_DynamicParams.cannonTimeout); outBitStream.Write(m_DynamicParams.cannonFOV); if (!isInitialUpdate) m_Dirty = false; } }