Integrating latest 47acbe8
This commit is contained in:
@@ -21,4 +21,9 @@ namespace MultiplayerCompression
|
||||
{
|
||||
return AZStd::make_unique<LZ4Compressor>();
|
||||
}
|
||||
|
||||
AZ::Name MultiplayerCompressionFactory::GetFactoryName() const
|
||||
{
|
||||
return m_name;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,9 +22,15 @@ namespace MultiplayerCompression
|
||||
: public AzNetworking::ICompressorFactory
|
||||
{
|
||||
public:
|
||||
/*
|
||||
* Instantiate a new compressor
|
||||
*/
|
||||
//! Instantiate a new compressor
|
||||
//! @return A unique_ptr to a new Compressor
|
||||
AZStd::unique_ptr<AzNetworking::ICompressor> Create() override;
|
||||
|
||||
//! Gets the AZ Name of this compressor factory
|
||||
//! @return the AZ Name of this compressor factory
|
||||
AZ::Name GetFactoryName() const override;
|
||||
|
||||
private:
|
||||
const AZ::Name m_name = AZ::Name("MultiplayerCompressor");
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,9 +10,11 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzCore/Interface/Interface.h>
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
#include <AzCore/Serialization/EditContext.h>
|
||||
#include <AzCore/std/smart_ptr/make_shared.h>
|
||||
#include <AzNetworking/Framework/INetworking.h>
|
||||
|
||||
#include "MultiplayerCompressionSystemComponent.h"
|
||||
#include "LZ4Compressor.h"
|
||||
@@ -49,35 +51,15 @@ namespace MultiplayerCompression
|
||||
incompatible.push_back(AZ_CRC("MultiplayerCompressionService"));
|
||||
}
|
||||
|
||||
void MultiplayerCompressionSystemComponent::Init()
|
||||
MultiplayerCompressionSystemComponent::MultiplayerCompressionSystemComponent()
|
||||
{
|
||||
m_multiplayerCompressionFactory = AZStd::make_shared<MultiplayerCompressionFactory>();
|
||||
m_multiplayerCompressionFactory = new MultiplayerCompressionFactory();
|
||||
AZ::Interface<AzNetworking::INetworking>::Get()->RegisterCompressorFactory(m_multiplayerCompressionFactory);
|
||||
}
|
||||
|
||||
void MultiplayerCompressionSystemComponent::Activate()
|
||||
MultiplayerCompressionSystemComponent::~MultiplayerCompressionSystemComponent()
|
||||
{
|
||||
MultiplayerCompressionRequestBus::Handler::BusConnect();
|
||||
}
|
||||
|
||||
void MultiplayerCompressionSystemComponent::Deactivate()
|
||||
{
|
||||
MultiplayerCompressionRequestBus::Handler::BusDisconnect();
|
||||
|
||||
m_multiplayerCompressionFactory.reset();
|
||||
}
|
||||
|
||||
AZStd::string MultiplayerCompressionSystemComponent::GetCompressorName()
|
||||
{
|
||||
return CompressorName;
|
||||
}
|
||||
|
||||
AzNetworking::CompressorType MultiplayerCompressionSystemComponent::GetCompressorType()
|
||||
{
|
||||
return CompressorType;
|
||||
}
|
||||
|
||||
AZStd::shared_ptr<AzNetworking::ICompressorFactory> MultiplayerCompressionSystemComponent::GetCompressionFactory()
|
||||
{
|
||||
return m_multiplayerCompressionFactory;
|
||||
AZ::Interface<AzNetworking::INetworking>::Get()->UnregisterCompressorFactory(m_multiplayerCompressionFactory->GetFactoryName());
|
||||
delete m_multiplayerCompressionFactory;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
#include <AzCore/Component/Component.h>
|
||||
#include <AzCore/std/containers/unordered_set.h>
|
||||
|
||||
#include <MultiplayerCompression/MultiplayerCompressionBus.h>
|
||||
#include <MultiplayerCompressionFactory.h>
|
||||
|
||||
namespace MultiplayerCompression
|
||||
@@ -26,32 +25,25 @@ namespace MultiplayerCompression
|
||||
*/
|
||||
class MultiplayerCompressionSystemComponent
|
||||
: public AZ::Component
|
||||
, protected MultiplayerCompressionRequestBus::Handler
|
||||
{
|
||||
public:
|
||||
AZ_COMPONENT(MultiplayerCompressionSystemComponent, "{C3099AC9-47A6-41D2-8928-F38F904BAC1B}");
|
||||
|
||||
MultiplayerCompressionSystemComponent();
|
||||
~MultiplayerCompressionSystemComponent() override;
|
||||
|
||||
static void Reflect(AZ::ReflectContext* context);
|
||||
|
||||
static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided);
|
||||
static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible);
|
||||
|
||||
protected:
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// MultiplayerCompressionRequestBus interface implementation
|
||||
AZStd::string GetCompressorName() override;
|
||||
AzNetworking::CompressorType GetCompressorType() override;
|
||||
AZStd::shared_ptr<AzNetworking::ICompressorFactory> GetCompressionFactory() override;
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// AZ::Component interface implementation
|
||||
void Init() override;
|
||||
void Activate() override;
|
||||
void Deactivate() override;
|
||||
void Init() override {}
|
||||
void Activate() override {}
|
||||
void Deactivate() override {}
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
private:
|
||||
AZStd::shared_ptr<MultiplayerCompressionFactory> m_multiplayerCompressionFactory;
|
||||
MultiplayerCompressionFactory* m_multiplayerCompressionFactory;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user