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 37 38 39 40 41 42 43 44 45 46 47
|
#pragma once
#include "scripting/ade_api.h"
#include "particle/particle.h"
#include "particle/ParticleSource.h"
namespace scripting {
namespace api {
class particle_h
{
protected:
particle::WeakParticlePtr part;
public:
particle_h();
explicit particle_h(const particle::WeakParticlePtr& part_p);
particle::WeakParticlePtr Get() const;
bool isValid() const;
};
DECLARE_ADE_OBJ(l_Particle, particle_h);
DECLARE_ADE_OBJ(l_ParticleEffect, particle::ParticleEffectHandle);
class particle_source_h
{
protected:
particle::ParticleSource* source = nullptr;
uint32_t sourceValidityCounter = 0;
public:
particle_source_h() = default;
explicit particle_source_h(particle::ParticleSource* source_p, uint32_t sourceValidityCounter_p);
particle::ParticleSource* Get() const;
bool isValid() const;
};
DECLARE_ADE_OBJ(l_ParticleSource, particle_source_h);
}
}
|