12GX_CORE_NAMESPACE_BEGIN()
18class GxGuiPropertySlider;
19class GxGuiPropertyComboBoxEnum;
176 f32
getValue( f32 duration, f32 currentDuration );
209 constexpr GxGuiPropertyComboBoxEnum* getGuiEasingType(
void ) {
return _pGuiEasingType; }
214 constexpr f32 getEasingFactorValue1(
void )
const {
return 1.70158f; }
216 constexpr f32 getEasingFactorValue2(
void )
const {
return getEasingFactorValue1() * 1.525f; }
218 constexpr f32 getEasingFactorValue3(
void )
const {
return getEasingFactorValue1() + 1.f; }
220 constexpr f32 getEasingFactorValue4(
void )
const {
return (2.f * PI) / 3.f; }
222 constexpr f32 getEasingFactorValue5(
void )
const {
return (2.f * PI) / 4.5f; }
225 GX_FORCE_INLINE f32 getValueInSine( f32 time )
const {
return 1.f -
GxMath::getCos((time * PI) / 2.f); }
227 GX_FORCE_INLINE f32 getValueOutSine( f32 time )
const {
return GxMath::getSin((time * PI) / 2.f); }
229 GX_FORCE_INLINE f32 getValueInOutSine( f32 time )
const {
return -(
GxMath::getCos(PI * time) - 1.f) / 2.f; }
231 constexpr f32 getValueInQuad( f32 time )
const {
return time * time; }
233 constexpr f32 getValueOutQuad( f32 time )
const {
return 1.f - (1.f - time) * (1.f - time); }
235 GX_FORCE_INLINE f32 getValueInOutQuad( f32 time )
const {
return time < 0.5f ? 2.f * time * time : 1 -
GxMath::getPow(-2.f * time + 2.f, 2.f) / 2.f; }
237 constexpr f32 getValueInCubic( f32 time )
const {
return time * time * time; }
239 GX_FORCE_INLINE f32 getValueOutCubic( f32 time )
const {
return 1.f -
GxMath::getPow(1.f - time, 3.f); }
241 GX_FORCE_INLINE f32 getValueInOutCubic( f32 time )
const {
return time < 0.5f ? 4.f * time * time * time : 1.f -
GxMath::getPow(-2.f * time + 2.f, 3.f) / 2.f; }
243 constexpr f32 getValueInQuart( f32 time )
const {
return time * time * time * time; }
245 GX_FORCE_INLINE f32 getValueOutQuart( f32 time )
const {
return 1.f -
GxMath::getPow(1.f - time, 4.f); }
247 GX_FORCE_INLINE f32 getValueInOutQuart( f32 time )
const {
return time < 0.5f ? 8.f * time * time * time * time : 1.f -
GxMath::getPow(-2.f * time + 2.f, 4.f) / 2.f; }
249 constexpr f32 getValueInQuint( f32 time )
const {
return time * time * time * time; }
251 GX_FORCE_INLINE f32 getValueOutQuint( f32 time )
const {
return 1.f -
GxMath::getPow(1.f - time, 5.f); }
253 GX_FORCE_INLINE f32 getValueInOutQuint( f32 time )
const {
return time < 0.5f ? 16.f * time * time * time * time * time : 1.f -
GxMath::getPow(-2.f * time + 2.f, 5.f) / 2; }
255 GX_FORCE_INLINE f32 getValueInExpo( f32 time )
const {
return time == 0.f ? 0.f :
GxMath::getPow(2.f, 10.f * time - 10.f); }
257 GX_FORCE_INLINE f32 getValueOutExpo( f32 time )
const {
return time == 1.f ? 1.f : 1.f -
GxMath::getPow(2.f, -10.f * time); }
259 f32 getValueInOutExpo(f32 time)
const;
265 GX_FORCE_INLINE f32 getValueInOutCirc( f32 time )
const {
return time < 0.5 ? (1.f -
GxMath::getSqrt(1.f -
GxMath::getPow(2.f * time, 2.f))) / 2.f : (
GxMath::getSqrt(1.f -
GxMath::getPow(-2.f * time + 2.f, 2.f)) + 1.f) / 2.f; }
267 constexpr f32 getValueInBack( f32 time )
const {
return getEasingFactorValue3() * time * time * time - getEasingFactorValue1() * time * time; }
269 GX_FORCE_INLINE f32 getValueOutBack( f32 time )
const {
return 1.f + getEasingFactorValue3() *
GxMath::getPow(time - 1.f, 3.f) + getEasingFactorValue1() *
GxMath::getPow(time - 1.f, 2.f); }
271 GX_FORCE_INLINE f32 getValueInOutBack( f32 time )
const {
return time < 0.5f ? (
GxMath::getPow(2.f * time, 2.f) * ((getEasingFactorValue2() + 1.f) * 2.f * time - getEasingFactorValue2())) / 2.f : (
GxMath::getPow(2.f * time - 2.f, 2.f) * ((getEasingFactorValue2() + 1.f) * (time * 2.f - 2.f) + getEasingFactorValue2()) + 2.f) / 2.f; }
273 f32 getValueInElastic(f32 time)
const;
275 f32 getValueOutElastic(f32 time)
const;
277 f32 getValueInOutElastic(f32 time)
const;
279 GX_FORCE_INLINE f32 getValueInBounce( f32 time )
const {
return 1.f - getValueOutBounce(1.f - time); }
281 f32 getValueOutBounce(f32 time)
const;
283 GX_FORCE_INLINE f32 getValueInOutBounce( f32 time )
const {
return time < 0.5f ? (1.f - getValueOutBounce(1.f - 2.f * time)) / 2.f : (1.f + getValueOutBounce(2.f * time - 1.f)) / 2.f; }
294 f32 _scaleFactorValue;
298 GxGuiPropertyComboBoxEnum* _pGuiEasingType;
376 void update( f32 deltaTime );
379 void play(
b32 isReverse =
false );
391 void playInner(
void );
422 constexpr f32
getDelay(
void )
const {
return _delay; }
424 constexpr void setDelay(
const f32 delay ) { _delay = delay; }
436 f32 _playDurationRate;
440 f32 _currentDuration;
447 b32 _isUseCurveStartEnd;
465 GxGuiPropertySlider* _pGuiCurrentDuration;
466 GxGuiButton* _pGuiPlay;
467 GxGuiButton* _pGuiPause;
528 void updateHandlePosition(
void );
537 constexpr f32
getTime(
void)
const {
return _time; }
539 constexpr f32
getValue(
void )
const {
return _value; }
555 f32 _handleRotationValue;
564GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
void GxTypedObject
その他
Definition GxDefine.h:213
配列クラス
Definition GxArrayClassBase.h:18
constexpr u32 getCount(void) const
配列数を取得
Definition GxArrayClassBase.h:109
オブジェクト基底クラス
Definition GxBase.h:88
基底クラス
Definition GxBase.h:51
カーブクラス
Definition GxModUnitCurvePlay.h:106
constexpr void setEasingType(const EASING_TYPE easingType)
イージング種類設定
Definition GxModUnitCurvePlay.h:193
constexpr void setScaleFactorValue(f32 value)
スケール係数設定
Definition GxModUnitCurvePlay.h:201
GxCurve(void)
デフォルトコンストラクタ
Definition GxModUnitCurvePlay.cpp:885
constexpr void setOffsetValue(f32 value)
補正値設定
Definition GxModUnitCurvePlay.h:205
f32 getValue(f32 duration, f32 currentDuration)
値取得
Definition GxModUnitCurvePlay.cpp:910
constexpr f32 getOffsetValue(void) const
補正値取得
Definition GxModUnitCurvePlay.h:203
constexpr EASING_TYPE getEasingType(void) const
イージング種類取得
Definition GxModUnitCurvePlay.h:191
~GxCurve(void) override
デストラクタ
Definition GxModUnitCurvePlay.cpp:899
EASING_TYPE
イージング
Definition GxModUnitCurvePlay.h:118
@ INOUT_QUART
INOUT_QUART.
@ OUT_ELASTIC
OUT_ELASTIC.
@ INOUT_QUINT
INOUT_QUINT.
@ INOUT_ELASTIC
INOUT_ELASTIC.
@ INOUT_CUBIC
INOUT_CUBIC.
@ INOUT_BOUNCE
INOUT_BOUNCE.
constexpr GxResCurveKey * getCurveKeyResource(void)
カーブ再生リソース取得
Definition GxModUnitCurvePlay.h:195
void getPropertyCurvePlayResource(void *const pValue)
カーブ再生リソース取得
Definition GxModUnitCurvePlay.cpp:1038
constexpr f32 getScaleFactorValue(void) const
スケール係数取得
Definition GxModUnitCurvePlay.h:199
void setPropertyCurvePlayResource(const void *const pValue)
カーブ再生リソース設定
Definition GxModUnitCurvePlay.cpp:1047
constexpr void setCurveKeyResource(GxResCurveKey *pRes)
カーブ再生リソース設定
Definition GxModUnitCurvePlay.h:197
カーブキークラス
Definition GxModUnitCurvePlay.h:477
constexpr CURVE_TYPE getCurveType(void) const
カーブ種類を取得
Definition GxModUnitCurvePlay.h:545
void setValue(f32 value)
値を設定
Definition GxModUnitCurvePlay.cpp:1236
constexpr f32 getValue(void) const
値を取得
Definition GxModUnitCurvePlay.h:539
void setTime(f32 time)
時間を設定
Definition GxModUnitCurvePlay.cpp:1246
GX_FORCE_INLINE const GxVector2 & getHandleStartPosition(void) const
ハンドル始点座標を取得
Definition GxModUnitCurvePlay.h:541
CURVE_TYPE
カーブ種類
Definition GxModUnitCurvePlay.h:489
void setHandleRotationValue(f32 value)
ハンドル回転値を設定
Definition GxModUnitCurvePlay.cpp:1268
GxCurveKey(void)
デフォルトコンストラクタ
Definition GxModUnitCurvePlay.cpp:1207
void setHandleRenderScale(f32 scaleX, f32 scaleY)
ハンドル描画倍率を設定
Definition GxModUnitCurvePlay.cpp:1257
constexpr f32 getTime(void) const
時間を取得
Definition GxModUnitCurvePlay.h:537
GX_FORCE_INLINE const GxVector2 & getHandleEndPosition(void) const
ハンドル終点座標を取得
Definition GxModUnitCurvePlay.h:543
カーブ再生クラス
Definition GxModUnitCurvePlay.h:308
void setPlayVector4(GxTypedObject *pOwner, GxProperty *pProperty, const GxVector4 &endValue, f32 duration, f32 delay=0.f, b32 isAutoPlay=true, LOOP_TYPE loopType=LOOP_TYPE::NONE)
再生設定
Definition GxModUnitCurvePlay.cpp:315
constexpr f32 getDelay(void) const
待ち時間取得
Definition GxModUnitCurvePlay.h:422
constexpr void setDelay(const f32 delay)
待ち時間設定
Definition GxModUnitCurvePlay.h:424
LOOP_TYPE
ループ
Definition GxModUnitCurvePlay.h:333
void setPlayF32(GxTypedObject *pOwner, GxProperty *pProperty, f32 endValue, f32 duration, f32 delay=0.f, b32 isAutoPlay=true, LOOP_TYPE loopType=LOOP_TYPE::NONE)
再生設定
Definition GxModUnitCurvePlay.cpp:251
PLAY_STATE
再生状態
Definition GxModUnitCurvePlay.h:320
void stop(void)
停止
Definition GxModUnitCurvePlay.cpp:538
GX_FORCE_INLINE const GxCurve & getCurve(void) const
カーブクラス取得
Definition GxModUnitCurvePlay.h:412
void setPlayColor(GxTypedObject *pOwner, GxProperty *pProperty, const GxColor &endValue, f32 duration, f32 delay=0.f, b32 isAutoPlay=true, LOOP_TYPE loopType=LOOP_TYPE::NONE)
再生設定
Definition GxModUnitCurvePlay.cpp:337
constexpr void setLoopType(const LOOP_TYPE loopType)
ループ種類設定
Definition GxModUnitCurvePlay.h:420
void setPlayVector2(GxTypedObject *pOwner, GxProperty *pProperty, const GxVector2 &endValue, f32 duration, f32 delay=0.f, b32 isAutoPlay=true, LOOP_TYPE loopType=LOOP_TYPE::NONE)
再生設定
Definition GxModUnitCurvePlay.cpp:271
void playDurationRate(b32 isReverse, f32 durationRate)
再生
Definition GxModUnitCurvePlay.cpp:529
~GxCurvePlay(void) override
デストラクタ
Definition GxModUnitCurvePlay.h:354
constexpr void setOwner(GxTypedObject *pOwner)
オーナー設定
Definition GxModUnitCurvePlay.h:415
void play(b32 isReverse=false)
再生
Definition GxModUnitCurvePlay.cpp:508
void setPlayColorHDR(GxTypedObject *pOwner, GxProperty *pProperty, const GxColorHDR &endValue, f32 duration, f32 delay=0.f, b32 isAutoPlay=true, LOOP_TYPE loopType=LOOP_TYPE::NONE)
再生設定
Definition GxModUnitCurvePlay.cpp:359
GX_FORCE_INLINE b32 isPlayState(PLAY_STATE state) const
再生状態判定
Definition GxModUnitCurvePlay.h:409
void setPlayVector3(GxTypedObject *pOwner, GxProperty *pProperty, const GxVector3 &endValue, f32 duration, f32 delay=0.f, b32 isAutoPlay=true, LOOP_TYPE loopType=LOOP_TYPE::NONE)
再生設定
Definition GxModUnitCurvePlay.cpp:293
void update(f32 deltaTime)
更新
Definition GxModUnitCurvePlay.cpp:375
constexpr LOOP_TYPE getLoopType(void) const
ループ種類取得
Definition GxModUnitCurvePlay.h:418
GxCurvePlay(void)
デフォルトコンストラクタ
Definition GxModUnitCurvePlay.cpp:216
void pause(void)
一時停止
Definition GxModUnitCurvePlay.cpp:563
算術演算クラス
Definition GxMath.h:84
static GX_FORCE_INLINE f32 getCos(const f32 radian)
余弦を取得(f32)
Definition GxMath.h:212
static GX_FORCE_INLINE f32 getSqrt(const f32 value)
平方根を取得(f32)
Definition GxMath.h:259
static GX_FORCE_INLINE f32 getSin(const f32 radian)
正弦を取得(f32)
Definition GxMath.h:205
static GX_FORCE_INLINE f32 getPow(const f32 value, const f32 n)
n乗を取得(f32)
Definition GxMath.h:273
ユニットモジュール基礎クラス
Definition GxModUnitBase.h:22
カーブ再生リストモジュールクラス
Definition GxModUnitCurvePlay.h:26
GX_FORCE_INLINE GxCurvePlay * getCurvePlay(u32 index)
カーブ再生モジュールを取得
Definition GxModUnitCurvePlay.h:87
constexpr u32 getArrayCount(void)
配列数取得
Definition GxModUnitCurvePlay.h:89
void playAll(b32 isReverse=false)
全再生
Definition GxModUnitCurvePlay.cpp:107
void removeAll(void)
全削除
Definition GxModUnitCurvePlay.cpp:76
void stopAll(void)
全停止
Definition GxModUnitCurvePlay.cpp:119
~GxModUnitCurvePlayList(void) override
デストラクタ
Definition GxModUnitCurvePlay.cpp:35
GxCurvePlay * createAndAddBottom(void)
カーブ再生モジュールを作成してリストに追加する
Definition GxModUnitCurvePlay.cpp:62
b32 setup(void) override
セットアップ
Definition GxModUnitCurvePlay.cpp:44
void asyncUpdate(void) override
並列更新
Definition GxModUnitCurvePlay.cpp:90
GxModUnitCurvePlayList(void)
デフォルトコンストラクタ
Definition GxModUnitCurvePlay.cpp:27
プロパティクラス
Definition GxProperty.h:48
カーブキーリソース
Definition GxResCurveKey.h:18
実行時型情報クラス
Definition GxRtti.h:154
色(HDR)
Definition GxColor.h:241
2次元ベクトル
Definition GxVector.h:34
3次元ベクトル
Definition GxVector.h:245
4次元ベクトル
Definition GxVector.h:582
32bitブーリアン
Definition GxDefine.h:173