DarkflameServer/dGame/dBehaviors/ImaginationBehavior.cpp
2021-12-05 18:54:36 +01:00

38 lines
832 B
C++

#include "ImaginationBehavior.h"
#include "BehaviorBranchContext.h"
#include "DestroyableComponent.h"
#include "dpWorld.h"
#include "EntityManager.h"
#include "dLogger.h"
void ImaginationBehavior::Handle(BehaviorContext* context, RakNet::BitStream* bit_stream, const BehaviorBranchContext branch)
{
auto* entity = EntityManager::Instance()->GetEntity(branch.target);
if (entity == nullptr)
{
return;
}
auto* destroyable = entity->GetComponent<DestroyableComponent>();
if (destroyable == nullptr)
{
return;
}
destroyable->Imagine(this->m_imagination);
}
void ImaginationBehavior::Calculate(BehaviorContext* context, RakNet::BitStream* bit_stream, const BehaviorBranchContext branch)
{
Handle(context, bit_stream, branch);
}
void ImaginationBehavior::Load()
{
this->m_imagination = GetInt("imagination");
}