![]() |
OpenSiv3D
v0.6.5
C++20 framework for creative coding
|
エフェクトグループ More...
#include <Effect.hpp>
Inherits s3d::AssetHandle< Effect >.
Public Member Functions | |
SIV3D_NODISCARD_CXX20 | Effect (double maxLifeTimeSec=10.0) |
エフェクトグループを作成します。 More... | |
SIV3D_NODISCARD_CXX20 | Effect (const Duration &maxLifeTimeSec) |
エフェクトグループを作成します。 More... | |
virtual | ~Effect () |
デストラクタ More... | |
const Effect & | add (std::unique_ptr< IEffect > &&effect) const |
エフェクトグループに新しいエフェクトを追加します More... | |
template<class IEffectType , class... Args, std::enable_if_t< std::is_base_of_v< IEffect, IEffectType >> * = nullptr> | |
const Effect & | add (Args &&... args) const |
エフェクトグループに新しいエフェクトを追加します More... | |
template<class Fty , std::enable_if_t< std::is_invocable_r_v< bool, Fty, double >> * = nullptr> | |
const Effect & | add (Fty f) const |
エフェクトグループに新しいエフェクトを追加します More... | |
operator bool () const | |
エフェクトグループがアクティブなエフェクトを持っているかを返します。 More... | |
bool | isEmpty () const |
エフェクトグループがアクティブなエフェクトを持っていないかを返します。 More... | |
bool | hasEffects () const |
エフェクトグループがアクティブなエフェクトを持っているかを返します。 More... | |
size_t | num_effects () const |
エフェクトグループでアクティブなエフェクトの個数を返します。 More... | |
void | pause () const |
このエフェクトグループの時間経過を一時停止します。 More... | |
bool | isPaused () const |
このエフェクトグループの時間経過が一時停止されているかを返します。 More... | |
void | resume () const |
このエフェクトグループの時間経過が一時停止されている場合、再開します。 More... | |
const Effect & | setSpeed (double speed) const |
このエフェクトグループの時間経過の速さを、実時間に対する倍率 (2.0 で 2 倍早く経過)で設定します。 More... | |
double | getSpeed () const |
このエフェクトグループの時間経過の速さを返します。 More... | |
const Effect & | setMaxLifeTime (double maxLifeTimeSec) |
このエフェクトグループでのエフェクトの最大継続時間(秒)を設定します。 More... | |
void | setMaxLifeTime (const Duration &maxLifeTimeSec) |
このエフェクトグループでのエフェクトの最大継続時間(秒)を設定します。 More... | |
double | getMaxLifeTime () const |
このエフェクトグループでのエフェクトの最大継続時間(秒)を返します。 More... | |
void | update () const |
このエフェクトグループ内のエフェクトの update() を実行します。 More... | |
void | clear () const |
このエフェクトグループ内の全てのエフェクトを、経過時間に関わらず消去します。 More... | |
void | swap (Effect &other) noexcept |
![]() | |
SIV3D_NODISCARD_CXX20 | AssetHandle () |
SIV3D_NODISCARD_CXX20 | AssetHandle (std::shared_ptr< AssetIDWrapperType > &&id) |
IDType | id () const noexcept |
アセットの内部管理 ID を返します。 More... | |
bool | isEmpty () const noexcept |
アセットが空であるかを返します。 More... | |
operator bool () const noexcept | |
アセットが空でないかを返します。 More... | |
bool | operator== (const AssetHandle &other) const noexcept |
2 つのアセットが同じオブジェクトであるかを返します。 More... | |
bool | operator!= (const AssetHandle &other) const noexcept |
2 つのアセットが異なるオブジェクトであるかを返します。 More... | |
void | release () |
このハンドルが管理するアセットを解放します。 More... | |
Additional Inherited Members | |
![]() | |
using | AssetIDWrapperType = AssetIDWrapper< AssetHandle > |
アセット ID ラッパー型 More... | |
using | IDType = typename AssetIDWrapperType::IDType |
アセット ID 型 More... | |
![]() | |
std::shared_ptr< AssetIDWrapperType > | m_handle |
エフェクトグループ
SIV3D_NODISCARD_CXX20 s3d::Effect::Effect | ( | double | maxLifeTimeSec = 10.0 | ) |
エフェクトグループを作成します。
maxLifeTimeSec | このエフェクトグループでのエフェクトの最大継続時間(秒) |
SIV3D_NODISCARD_CXX20 s3d::Effect::Effect | ( | const Duration & | maxLifeTimeSec | ) |
エフェクトグループを作成します。
maxLifeTimeSec | このエフェクトグループでのエフェクトの最大継続時間(秒) |
|
virtual |
デストラクタ
const Effect& s3d::Effect::add | ( | Args &&... | args | ) | const |
エフェクトグループに新しいエフェクトを追加します
IEffectType | 追加するエフェクトの型 |
...Args | コンストラクタ引数の型 |
...args | コンストラクタ引数 |
const Effect& s3d::Effect::add | ( | Fty | f | ) | const |
エフェクトグループに新しいエフェクトを追加します
Fty | エフェクト(関数オブジェクト)の型 |
f | エフェクトの関数オブジェクト |
エフェクトグループに新しいエフェクトを追加します
effect | 追加するエフェクト |
void s3d::Effect::clear | ( | ) | const |
このエフェクトグループ内の全てのエフェクトを、経過時間に関わらず消去します。
double s3d::Effect::getMaxLifeTime | ( | ) | const |
このエフェクトグループでのエフェクトの最大継続時間(秒)を返します。
double s3d::Effect::getSpeed | ( | ) | const |
このエフェクトグループの時間経過の速さを返します。
bool s3d::Effect::hasEffects | ( | ) | const |
エフェクトグループがアクティブなエフェクトを持っているかを返します。
bool s3d::Effect::isEmpty | ( | ) | const |
エフェクトグループがアクティブなエフェクトを持っていないかを返します。
bool s3d::Effect::isPaused | ( | ) | const |
このエフェクトグループの時間経過が一時停止されているかを返します。
size_t s3d::Effect::num_effects | ( | ) | const |
エフェクトグループでアクティブなエフェクトの個数を返します。
|
explicit |
エフェクトグループがアクティブなエフェクトを持っているかを返します。
Effect::hasEffects()
と同じ結果を返します。 void s3d::Effect::pause | ( | ) | const |
このエフェクトグループの時間経過を一時停止します。
void s3d::Effect::resume | ( | ) | const |
このエフェクトグループの時間経過が一時停止されている場合、再開します。
void s3d::Effect::setMaxLifeTime | ( | const Duration & | maxLifeTimeSec | ) |
このエフェクトグループでのエフェクトの最大継続時間(秒)を設定します。
maxLifeTimeSec | このエフェクトグループでのエフェクトの最大継続時間(秒) |
const Effect& s3d::Effect::setMaxLifeTime | ( | double | maxLifeTimeSec | ) |
このエフェクトグループでのエフェクトの最大継続時間(秒)を設定します。
maxLifeTimeSec | このエフェクトグループでのエフェクトの最大継続時間(秒) |
const Effect& s3d::Effect::setSpeed | ( | double | speed | ) | const |
このエフェクトグループの時間経過の速さを、実時間に対する倍率 (2.0 で 2 倍早く経過)で設定します。
speed | 時間経過の速さ |
|
noexcept |
void s3d::Effect::update | ( | ) | const |
このエフェクトグループ内のエフェクトの update()
を実行します。