79 coord_downscale(1.0f) {}
83 float coord_downscale;
86 Sfx &GetInstanceByIndex(
const SFX_TYPE t,
const size_t i) {
return m_instances[t][i]; }
87 void AddInstance(
Sfx &inst) {
return m_instances[inst.
m_type].push_back(inst); }
92 static bool SplitMaterialData(
const std::string &spec, MaterialData &output);
95 static MaterialData m_materialData[
TYPE_NONE];
nlohmann::json Json
Definition Json.h:8
SFX_TYPE
Definition Sfx.h:20
@ TYPE_NONE
Definition Sfx.h:24
@ TYPE_DAMAGE
Definition Sfx.h:22
@ TYPE_SMOKE
Definition Sfx.h:23
@ TYPE_EXPLOSION
Definition Sfx.h:21
void Cleanup()
Definition Sfx.cpp:236
static void AddThrustSmoke(const Body *b, float speed, const vector3d &adjustpos)
Definition Sfx.cpp:206
static std::unique_ptr< Graphics::Material > explosionParticle
Definition Sfx.h:65
static void Add(const Body *, SFX_TYPE)
Definition Sfx.cpp:182
static std::unique_ptr< Graphics::Material > damageParticle
Definition Sfx.h:62
static void ToJson(Json &jsonObj, const FrameId f)
Definition Sfx.cpp:137
static void TimeStepAll(const float timeStep, FrameId f)
Definition Sfx.cpp:215
static void Uninit()
Definition Sfx.cpp:433
static std::unique_ptr< Graphics::Material > ecmParticle
Definition Sfx.h:63
static std::unique_ptr< Graphics::Material > smokeParticle
Definition Sfx.h:64
size_t GetNumberInstances(const SFX_TYPE t) const
Definition Sfx.h:69
SfxManager()
Definition Sfx.cpp:130
static void AddExplosion(Body *)
Definition Sfx.cpp:192
static void RenderAll(Graphics::Renderer *r, FrameId f, const FrameId camFrame)
Definition Sfx.cpp:252
static void Init(Graphics::Renderer *r)
Definition Sfx.cpp:367
static void FromJson(const Json &jsonObj, FrameId f)
Definition Sfx.cpp:158
Definition Background.h:14
EffectType
Definition Material.h:29
float AgeBlend() const
Definition Sfx.cpp:119
void SetPosition(const vector3d &p)
Definition Sfx.cpp:94
const vector3d & GetPosition() const
Definition Sfx.h:32
float m_speed
Definition Sfx.h:43
float m_age
Definition Sfx.h:42
vector3d m_vel
Definition Sfx.h:41
enum SFX_TYPE m_type
Definition Sfx.h:44
vector3d m_pos
Definition Sfx.h:40
void SaveToJson(Json &jsonObj)
Definition Sfx.cpp:82
void TimeStepUpdate(const float timeStep)
Definition Sfx.cpp:99