mirror of
https://github.com/zoriya/Bomberman.git
synced 2026-05-28 08:33:36 +00:00
49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
//
|
|
// Created by cbihan on 16/06/2021.
|
|
//
|
|
|
|
#pragma once
|
|
|
|
#include "Component/Component.hpp"
|
|
#include "Entity/Entity.hpp"
|
|
#include <chrono>
|
|
|
|
using namespace std::chrono_literals;
|
|
|
|
namespace BBM
|
|
{
|
|
class BombExplosionShaderComponent : public WAL::Component
|
|
{
|
|
public:
|
|
//! @brief Explosion radius
|
|
float explosionRadius = 4;
|
|
//! @brief to have the shader move by the time
|
|
float frameCounter = 0;
|
|
//! @brief Transparency
|
|
float alpha = 1;
|
|
|
|
//! @brief max explosion radius
|
|
static constexpr float maxRadius = 1.2;
|
|
|
|
//! @brief The clock to use
|
|
std::chrono::nanoseconds clock = 0ns;
|
|
|
|
|
|
//! @inherit
|
|
WAL::Component *clone(WAL::Entity &entity) const override;
|
|
|
|
//! @brief ctor
|
|
explicit BombExplosionShaderComponent(WAL::Entity &entity);
|
|
|
|
//! @brief Default copy ctor
|
|
BombExplosionShaderComponent(const BombExplosionShaderComponent &) = default;
|
|
|
|
//! @brief Default dtor
|
|
~BombExplosionShaderComponent() override = default;
|
|
|
|
//! @brief Default assignment operator
|
|
BombExplosionShaderComponent &operator=(const BombExplosionShaderComponent &) = delete;
|
|
};
|
|
|
|
}
|