1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "fsCEphemeralComponent.h"

#include <fsCore/src/fsCUniqueId.h>

const fsCUniqueId fsCEphemeralComponent::mTypeId("fsCEphemeralComponent");


void fsCEphemeralComponent::updateDo(fsS32 pDeltaMs)
{
	if ((*mCondition)(parentGet()))
	{
		parentGet()->destroy();
	}
}

//void fsCEphemeralComponent::init(std::function< fsBool(fsCEntity* const pParent) > pCondition)
void fsCEphemeralComponent::init(fsFncCondition* const pCondition)
{
	mCondition = pCondition;
}

fsIComponent* fsCEphemeralComponent::create(fsCEntity* pParent)
{
	return new fsCEphemeralComponent(pParent);
}

fsCEphemeralComponent::fsCEphemeralComponent(fsCEntity* const pParent):
	fsIComponent(pParent),
	mCondition(nullptr)
{
}

fsCEphemeralComponent::~fsCEphemeralComponent()
{
	delete mCondition;<--- Class 'fsCEphemeralComponent' does not have a copy constructor which is recommended since it has dynamic memory/resource management.<--- Class 'fsCEphemeralComponent' does not have a operator= which is recommended since it has dynamic memory/resource management.
}