OROCHI
 
Loading...
Searching...
No Matches
GxUnitRealTimeDemo.h
Go to the documentation of this file.
1//===========================================================================
10//===========================================================================
11#pragma once
12
13GX_UTILITY_NAMESPACE_BEGIN()
14
15//===========================================================================
17//===========================================================================
19{
20 //-----------------------------------------------------------
22 //-----------------------------------------------------------
24public:
25 // RTTI定義
26 GX_RTTI_CLASS_NAME_ICON(GxUnitRealTimeDemo, GxUnitLocate, "リアルタイムデモ基礎", GxRtti::ICON_TYPE::UNIT_MOVIE)
27 // ClassBaseReference禁止宣言
29
30 class GxReplaceUnit;
31#if GX_DEVELOP
32 friend class GxToolRealTimeDemo;
33 friend class GxUnitRTDCharacter;
34#endif //GX_DEVELOP
35
37 static constexpr u32 RESOURCE_MAX = GxMath::VALUE_4;
38private:
40 enum class RESOURCE_LOAD_STATE
41 {
42 NO_REQUEST,
43 SYNC_LOAD_REQUEST,
44 ASYNC_LOAD_REQUEST,
45 ASYNC_LOADING,
46 LOAD_FINISHED,
47 };
48
49public:
52 {
53 TRIGGER,
54 STEP,
55 LINEAR,
56 ADD_FRAME,
57 MAX,
58 TYPE_RESERVED = 100,
59 };
60#if GX_DEVELOP
62 GX_ENUM_TABLE_MAX(INTERPOLATE_TYPE)
63#endif //GX_DEVELOP
64
66 enum class END_FRAME_MODE
67 {
68 KEEP_UPDATE = 0,
69 DISABLE_RENDER,
70 OLD,
71 };
72
73#if GX_DEVELOP
75 enum SKIP_NOTIFICATION
76 {
77 SKIP_NOTIFICATION_NONE = 0,
78 SKIP_NOTIFICATION_EFFECT = 1 << 0,
79 SKIP_NOTIFICATION_RESERVED = 1 << 1,
80 SKIP_NOTIFICATION_ALL = 0xFFFFFFFF
81 };
82
84 struct GxSkipNotification
85 {
86 SKIP_NOTIFICATION _type;
87 u32 _nowFrame;
88 u32 _skipFrame;
89 GxString _resourceName;
90 };
91#endif //GX_DEVELOP
92protected:
93 class GxRtdUnit;
94private:
96 enum class PLAY_STATE
97 {
98 STOP = 0,
99 PAUSE,
100 PLAY,
101 PLAY_LOOP,
102 };
103
105 enum class PLAY_REQUEST
106 {
107 NONE,
108 PLAY,
109 PLAY_LOOP,
110 PAUSE,
111 STOP,
112 };
113
115 enum class SETUP_STATE
116 {
117 INITIALIZE,
118 LOADING,
119 LOAD_FINISHED,
120 };
121
123 static const f32 INVALID_FRAME;
124
125#if GX_DEVELOP
127 enum SKIP
128 {
129 NONE,
130 REQUEST,
131 SETUP,
132 EXECUTE,
133 CLEANUP,
134 };
135#endif //GX_DEVELOP
136
138 //-----------------------------------------------------------
140 //-----------------------------------------------------------
142public:
144 GxUnitRealTimeDemo(void);
146 void cleanup(void) override;
147
149 //-----------------------------------------------------------
151 //-----------------------------------------------------------
153protected:
155 void asyncUpdate(void) override;
157 void sequentialUpdate(void) override;
159 void forceAsyncUpdate(void) override;
161 virtual GxUnitRealTimeDemo::GxRtdUnit* createUnit(GxResRealTimeDemo::GxRtdUnit* pRtdUnit);
162#if GX_DEVELOP
164 void iconRender(void) override;
165#endif //GX_DEVELOP
166
167public:
169 void play(f32 targetFrame = INVALID_FRAME);
171 void playLoop(f32 targetFrame = INVALID_FRAME, s32 count = -1);
173 void pause(void);
175 void resume(void);
177 void stop(void);
179 void updateKeyFrame(void);
181 b32 addReplaceUnit(s32 discrimID, GxUnitBase* pUnit);
183 void clearReplaceUnit(void);
184#if GX_DEVELOP
187 GX_FORCE_INLINE virtual b32 requestEffectSkipCall(GxSkipNotification notification) { return true; }
188#endif //GX_DEVELOP
189protected:
191 GX_FORCE_INLINE virtual void playCall(void){}
193 GX_FORCE_INLINE virtual void stopCall(void){}
195 GX_FORCE_INLINE virtual void preCreateUnitCall(void){}
197 GX_FORCE_INLINE virtual void afterCreateUnitCall(void){}
198
199#if GX_DEVELOP
200public:
202 s32 getNextKeyFrame(void);
204 GX_FORCE_INLINE void requestSkip(void) { if (isPlaying() && _frameSkipState == SKIP::NONE) { _frameSkipState = SKIP::REQUEST; _skipTargetFrame = _targetFrame; } }
206 virtual void skipEffect(GxUnitRealTimeDemo::GxRtdUnit* pUnit, u32 skipStartFrame, u32 skipEndFrame);
208 virtual void setUnitSkipFrame(GxUnitRealTimeDemo::GxRtdUnit* pUnit, u32 unitSkipFrame);
210 void skipRTDSub(u32 targetFrame);
211#endif //GX_DEVELOP
212
214 //-----------------------------------------------------------
216 //-----------------------------------------------------------
218public:
220 void setResourceAsync(GxResRealTimeDemo* pRes, u32 index, b32 loadKeyResourceAsync = true);
222 constexpr GxResRealTimeDemo* getResource(u32 index) { return (index < RESOURCE_MAX) ? _pResource[index] : nullptr; }
223
225 constexpr GxResRealTimeDemo* getRTDResource(u32 index){ return (index < RESOURCE_MAX) ? _pResource[index] : nullptr; }
227 void setRTDResource(GxResRealTimeDemo* pRes, u32 index, b32 loadKeyResourceAsync = true);
229 b32 isPlayable(void) const;
231 b32 isPlaying(void) const;
233 b32 _isPlaying(void) const;
235 GX_FORCE_INLINE b32 isPausing(void) const { return _isPausing() || (_playRequest == PLAY_REQUEST::PAUSE); }
237 GX_FORCE_INLINE b32 _isPausing(void) const { return _playState == PLAY_STATE::PAUSE; }
239 f32 getNowFrame(void) const;
241 f32 getStartFrame(void) const;
243 f32 getEndFrame(void) const;
245 GX_FORCE_INLINE b32 isScreenShot(void){ return _isScreenShot; }
247 GX_FORCE_INLINE void setScreenShot(b32 on){ _isScreenShot = on; }
249 void setPrecreateUnit(b32 enable);
251 GxUnitBase* getUnit(u32 resourceIndex, u32 unitNodeId );
253 GxUnitBase* getUnitFromDiscrimID(u32 resourceIndex, s32 discrimId);
255 static b32 isSupport(GxProperty* pProperty);
257 b32 getPropertyValueAsString(GxString& value, GxRtti*& pRtti, u32 resourceIndex, u32 unitNodeId, u32 propertyNodeId);
259 b32 getPropertyValuePointer(GxTypedObject*& pValue, u32 resourceIndex, u32 unitNodeId, u32 targetPropertyNodeId);
261 b32 getPropertyValuePointer(GxTypedObject*& pValue, u32 resourceIndex, GxResRealTimeDemo::GxRtdUnit* pUnit, u32 targetPropertyNodeId);
262
264 void updatePlayState(void);
265
267 constexpr void setEndFrameMode(END_FRAME_MODE mode) { _endFrameMode = mode; }
269 constexpr END_FRAME_MODE getEndFrameMode(void) const { return _endFrameMode; }
270
272 virtual b32 getKeyValueB32(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, const GxTypedObject* pOwner, const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 bkFrame, b32& value);
274 virtual b32 getKeyValueS32(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, const GxTypedObject* pOwner, const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 bkFrame, s32& value);
276 virtual b32 getKeyValueU32(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, const GxTypedObject* pOwner, const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 bkFrame, u32& value);
278 virtual b32 getKeyValueF32(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, const GxTypedObject* pOwner, const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 bkFrame, f32& value);
280 virtual b32 getKeyValueVector2(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, const GxTypedObject* pOwner, const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 bkFrame, GxVector2& value);
282 virtual b32 getKeyValueVector3(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, const GxTypedObject* pOwner, const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 bkFrame, GxVector3& value);
284 virtual b32 getKeyValueQuaternion(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, const GxTypedObject* pOwner, const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 bkFrame, GxQuaternion& value);
286 virtual b32 getKeyValueResource(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, const GxTypedObject* pOwner, const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 bkFrame, GxClassBaseRoot*& value);
288 virtual b32 getKeyValueColor(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, const GxTypedObject* pOwner, const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 bkFrame, GxColor& value);
290 virtual b32 getKeyValueColorHDR(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, const GxTypedObject* pOwner, const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 bkFrame, GxColorHDR& value);
292 virtual b32 getKeyValueEvent(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, const GxTypedObject* pOwner, const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 bkFrame);
294 virtual b32 getKeyValueString(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, const GxTypedObject* pOwner, const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 bkFrame, GxString& value);
295
297 GX_FORCE_INLINE const GxArrayClassBase* getReplaceUnitArray(void){ return &_replaceUnitArray; }
298
300 GX_FORCE_INLINE static GxRtti* getRttiCreateCharacter(void){ return _pRttiCreateCharacter; }
302 static constexpr void setRttiCreateCharacter(GxRtti* pRtti){ _pRttiCreateCharacter = pRtti; }
304 GX_FORCE_INLINE static GxRtti* getRttiCreateCamera(void){ return _pRttiCreateCamera; }
306 static constexpr void setRttiCreateCamera(GxRtti* pRtti){ _pRttiCreateCamera = pRtti; }
307
309 GX_FORCE_INLINE void setCallbackStop(GxCallback::GxHandlerBase handler){ _callbackStop = handler; }
310
313 GX_FORCE_INLINE void setForceSkipPlayMode(b32 enable) { _isForceSkipPlayMode = enable; }
315 GX_FORCE_INLINE b32 isForceSkipPlayMode(void) const { return _isForceSkipPlayMode; }
316
317#if GX_DEVELOP
319 constexpr u32 getNowFrameU32(void) const { return static_cast<u32>(_nowFrame); }
321 virtual void getInterpolateTypeEnum(GX_ENUM** ppEnum, u32* pCount);
323 constexpr u32 getSkipFrame(void) const { return static_cast<u32>(_midFramePosition); }
325 constexpr u32 getRequestSkipNotification(void) const { return _requestSkipNotification; }
327 void setRequestSkipNotification(u32 skipRequest);
328#endif //GX_DEVELOP
329
330protected:
332 virtual f32 getDeltaFrame(void);
334 GX_FORCE_INLINE virtual b32 isSetupFinished(void){ return true; }
336 GX_FORCE_INLINE GxArrayClassBase* getUnitArray(u32 index){ return &(_unitArray[index]); }
338 b32 getPreviousNextKey(const GxResRealTimeDemo::GxRtdProp* pProperty, f32 nowFrame, f32 beforeFrame, GxResRealTimeDemo::GxRtdKeyBase*& pPreviousKey, GxResRealTimeDemo::GxRtdKeyBase*& pNextKey);
339
341 virtual void pauseMotion(void);
343 virtual void resumeMotion(void);
344
345private:
347 constexpr void getPropertyStartFrame(void* const pValue){ *static_cast<u32*>(pValue) = (nullptr != _pResource[0]) ? _pResource[0]->getStartFrame() : 0; }
349 constexpr void setPropertyStartFrame(const void* const){}
351 constexpr void getPropertyEndFrame(void* const pValue){ *static_cast<u32*>(pValue) = (nullptr != _pResource[0]) ? _pResource[0]->getEndFrame() : 0; }
353 constexpr void setPropertyEndFrame(const void* const){}
355 GX_FORCE_INLINE void getPropertyPlay(void* const pValue){ *static_cast<b32*>(pValue) = (PLAY_STATE::PLAY == _playState) || (PLAY_STATE::PLAY == _reservedPlayState); }
357 void setPropertyPlay(const void* const pValue);
359 GX_FORCE_INLINE void getPropertyPlayLoop(void* const pValue){ *static_cast<b32*>(pValue) = (PLAY_STATE::PLAY_LOOP == _playState) || (PLAY_STATE::PLAY_LOOP == _reservedPlayState); }
361 void setPropertyPlayLoop(const void* const pValue);
363 constexpr void getPropertyResource(void* const pValue, u32 index){ *static_cast<GxResRealTimeDemo**>(pValue) = _pResource[index]; }
365 GX_FORCE_INLINE void setPropertyResource(const void* const pValue, u32 index){ setRTDResource(*static_cast<GxResRealTimeDemo**>(const_cast<void*>(pValue)), index, false); }
367 constexpr u32 getPropertyResourceCount(void) const { return GxUnitRealTimeDemo::RESOURCE_MAX; }
369 constexpr void setPropertyResourceCount(u32){}
371 constexpr void getPropertyPreCreateUnit(void* const pValue){ *static_cast<b32*>(pValue) = _preCreateUnit; }
373 GX_FORCE_INLINE void setPropertyPreCreateUnit(const void* const pValue){ setPrecreateUnit(*static_cast<b32*>(const_cast<void*>(pValue))); }
374
376 GxUnitRealTimeDemo* getContinuePlayUnit(void);
378 void setContinuePlayUnit(GxUnitRealTimeDemo* pContinuePlayUnit);
379
381 void _play(b32 loop);
383 void _stop(b32 resetFrame);
385 void updateRtdPlay(void);
387 void updatePlayStateAfter(void);
388
390 void setSetupState(SETUP_STATE state);
392 void updateSetupAsync(void);
394 void updateSetupSeq(void);
396 void loadKeyResource(u32 resourceIndex, GxSysResource::LOAD_MODE mode);
398 void loadKeyResourceSub(GxSysResource::LOAD_MODE mode, GxArrayClassBase& keyResArray, GxResRealTimeDemo::GxRtdProp* pProperty);
400 void releaseKeyResource(u32 resourceIndex);
402 void releaseKeyResourceAll(void);
404 b32 isLoadFinishedKeyResource(u32 resourceIndex);
405
407 void setUpdateRenderUnit(b32 on);
409 void createUnit(void);
411 void updatePointerUnit(void);
413 void disposeUnit(u32 resourceIndex);
415 void disposeUnitAll(void);
417 b32 isCreatedUnit(void);
418
420 b32 getPropertyValueAsString(GxString& Value, GxRtti*& pRtti, GxTypedObject* pOwner, GxResRealTimeDemo::GxRtdProp* pProperty);
422 b32 getPropertyValueAsStringSub(GxString& Value, GxRtti*& pRtti, u32 resourceIndex, u32 propertyNodeId, GxTypedObject* pOwner, GxResRealTimeDemo::GxRtdProp* pProperty);
424 b32 getPropertyValuePointer(GxTypedObject*& pValue, GxResRealTimeDemo::GxRtdProp* pProperty, GxTypedObject* pOwner);
426 b32 getPropertyValuePointerSub(GxTypedObject*& pValue, u32 propertyNodeId, u32 resourceIndex, GxResRealTimeDemo::GxRtdProp* pProperty, GxTypedObject* pOwner);
427
429 void updateKeyFrameSub(const GxResRealTimeDemo::GxRtdUnit* pOwnerUnit, GxTypedObject* pOwner, GxResRealTimeDemo::GxRtdProp* pProperty);
430
432 void updatePointerReplaceUnit(void);
433
435 static s32 getPropertyIndex(GxResRealTimeDemo::GxRtdProp* pProperty);
436
438 void registRenderUnit(void);
439
441 //-----------------------------------------------------------
443 //-----------------------------------------------------------
445private:
446 f32 _nowFrame;
447 f32 _beforeFrame;
448 f32 _deltaFrame;
449 f32 _targetFrame;
450 s32 _loopCount;
451 PLAY_REQUEST _playRequest;
452 PLAY_STATE _playState;
453 PLAY_STATE _reservedPlayState;
454 PLAY_STATE _lastPlayState;
455 b32 _isResume;
456 b32 _isScreenShot;
457 GxCriticalSection _criticalSection;
458
459 GxUnitRealTimeDemo* _pContinuePlayUnit;
460 b32 _continuePlayRequest;
461 f32 _continuePlayWaitFrame;
462 f32 _realNowFrame;
463
464 SETUP_STATE _setupState;
465 GxResRealTimeDemo* _pResource[RESOURCE_MAX];
466 RESOURCE_LOAD_STATE _resourceLoadState[RESOURCE_MAX];
467 GxArrayClassBase _keyResourceArray[RESOURCE_MAX];
468
469 b32 _preCreateUnit;
470 GxArrayClassBase _unitArray[RESOURCE_MAX];
471 GxArrayClassBase _replaceUnitArray;
472
473 GxUnitCameraBase* _pUnitCamera;
474 END_FRAME_MODE _endFrameMode;
475
476 static GxRtti* _pRttiCreateCharacter;
477 static GxRtti* _pRttiCreateCamera;
478
479 GxCallback::GxHandlerBase _callbackStop;
480
481 b32 _isForceSkipPlayMode;
482
483#if GX_DEVELOP
484 b32 _isEnableDisposeUnitAll;
485 b32 _isEnableFrameSkip;
486 u32 _frameSkipState;
487 f32 _previousDeltaTimeFactor;
488 f32 _skipTargetFrame;
489 b32 _isEnableMidFrameStart;
490 f32 _midFramePosition;
491 u32 _requestSkipNotification;
492protected:
493 GxArray _skipEffectList;
494 GxArray _effectStartFrameList;
495#endif //GX_DEVELOP
496
498};
499
500//===========================================================================
502//===========================================================================
504{
505 //-----------------------------------------------------------
507 //-----------------------------------------------------------
509public:
510 // RTTI定義
512 // new, delete定義
513 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::UNIT)
514
515
516 //-----------------------------------------------------------
518 //-----------------------------------------------------------
521 GxRtdUnit(void) : _pUnit(nullptr), _nodeId(0), _userData(""){};
523 GxRtdUnit(u32 nodeId, GxRtti& rtti, GxString userData);
525 GxRtdUnit(u32 nodeId, GxUnitBase* pUnit, GxString userData);
527 ~GxRtdUnit(void) override;
528
530 //-----------------------------------------------------------
532 //-----------------------------------------------------------
534
536 b32 updatePointer(void);
543
545 //-----------------------------------------------------------
547 //-----------------------------------------------------------
549
551 GX_FORCE_INLINE b32 isReplacedUnit(void) const { return _isReplacedUnit; }
552
554 //-----------------------------------------------------------
556 //-----------------------------------------------------------
558public:
562private:
563 GxCriticalSection _criticalSection;
564 b32 _isReplacedUnit;
565 GxArrayClassBase _replacedUnitResource;
566
568};
569
570//===========================================================================
572//===========================================================================
574{
575 //-----------------------------------------------------------
577 //-----------------------------------------------------------
579public:
580 // RTTI定義
582 // new, delete定義
583 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::UNIT)
584
585
586 //-----------------------------------------------------------
588 //-----------------------------------------------------------
590
592 GxReplaceUnit(void) : _discrimID(-1), _pUnit(nullptr){}
594 GxReplaceUnit(s32 discrimID, GxUnitBase* pUnit) : _discrimID(discrimID), _pUnit(pUnit){}
596 ~GxReplaceUnit(void) override {}
597
599 //-----------------------------------------------------------
601 //-----------------------------------------------------------
603
606
608};
609
610GX_UTILITY_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
@ MAX
定義数
void GxTypedObject
その他
Definition GxDefine.h:213
@ NONE
何もしない
@ LINEAR
線形補間
配列クラス
Definition GxArrayClassBase.h:18
配列クラス
Definition GxArray.h:18
ハンドラ基本クラス
Definition GxCallback.h:27
オブジェクト基底クラス
Definition GxBase.h:88
基底クラス
Definition GxBase.h:51
クリティカルセクションクラス
Definition GxThread.h:20
static constexpr u32 VALUE_4
4
Definition GxMath.h:121
プロパティクラス
Definition GxProperty.h:48
RTD再生用キー
Definition GxResRealTimeDemo.h:356
RTD再生用プロパティ
Definition GxResRealTimeDemo.h:257
RTDユニット
Definition GxResRealTimeDemo.h:54
リアルタイムデモ設定リソース
Definition GxResRealTimeDemo.h:23
実行時型情報クラス
Definition GxRtti.h:154
@ UNIT_MOVIE
ムービーユニット
LOAD_MODE
リソース読み込みモード
Definition GxSysResource.h:1116
ユニット基礎クラス
Definition GxUnitBase.h:45
カメラ基礎クラス
Definition GxUnitCameraBase.h:20
座標ユニット基礎クラス
Definition GxUnitLocate.h:23
RTD用キャラクター
Definition GxUnitRTDCharacter.h:18
置き換えユニット管理クラス
Definition GxUnitRealTimeDemo.h:574
GxReplaceUnit(s32 discrimID, GxUnitBase *pUnit)
コンストラクタ
Definition GxUnitRealTimeDemo.h:594
~GxReplaceUnit(void) override
デストラクタ
Definition GxUnitRealTimeDemo.h:596
s32 _discrimID
リソースとの突き合わせ用ユニット識別ID
Definition GxUnitRealTimeDemo.h:604
GxUnitBase * _pUnit
再生に使用するユニット
Definition GxUnitRealTimeDemo.h:605
ユニット情報保持用クラス
Definition GxUnitRealTimeDemo.h:504
GX_FORCE_INLINE b32 isReplacedUnit(void) const
置き換えユニットか判定
Definition GxUnitRealTimeDemo.h:551
GxUnitBase * _pUnit
ユニット参照
Definition GxUnitRealTimeDemo.h:559
void preserveReplacedUnitResource(void)
置き換えユニットのリソースを保持
Definition GxUnitRealTimeDemo.cpp:1924
void restoreReplacedUnitResource(void)
リソースの復元を行う
Definition GxUnitRealTimeDemo.cpp:1953
void releaseReplacedUnitResource(void)
保持したリソースの開放
Definition GxUnitRealTimeDemo.cpp:1988
u32 _nodeId
ユニットに対応したリソース上のノードID
Definition GxUnitRealTimeDemo.h:560
GxRtdUnit(void)
Definition GxUnitRealTimeDemo.h:521
b32 updatePointer(void)
ユニット参照の更新(killチェック)
Definition GxUnitRealTimeDemo.cpp:2002
~GxRtdUnit(void) override
デストラクタ
Definition GxUnitRealTimeDemo.cpp:1903
GxString _userData
ユーザーが任意で使用できる文字列パラメータ
Definition GxUnitRealTimeDemo.h:561
リアルタイムデモ管理ユニット
Definition GxUnitRealTimeDemo.h:19
virtual GX_FORCE_INLINE void afterCreateUnitCall(void)
ユニット生成直後コールバック関数
Definition GxUnitRealTimeDemo.h:197
static constexpr u32 RESOURCE_MAX
リソースの保持数
Definition GxUnitRealTimeDemo.h:37
constexpr END_FRAME_MODE getEndFrameMode(void) const
再生終了時のふるまい方を取得
Definition GxUnitRealTimeDemo.h:269
GX_FORCE_INLINE b32 isScreenShot(void)
撮影モードか判定
Definition GxUnitRealTimeDemo.h:245
GX_FORCE_INLINE void setScreenShot(b32 on)
撮影モードを設定
Definition GxUnitRealTimeDemo.h:247
virtual GX_FORCE_INLINE void preCreateUnitCall(void)
ユニット生成直前コールバック関数
Definition GxUnitRealTimeDemo.h:195
static GX_FORCE_INLINE GxRtti * getRttiCreateCharacter(void)
継承するRTD用キャラクタクラスを取得
Definition GxUnitRealTimeDemo.h:300
GX_FORCE_INLINE b32 isPausing(void) const
一時停止中判定(リクエストを考慮)
Definition GxUnitRealTimeDemo.h:235
GX_FORCE_INLINE b32 isForceSkipPlayMode(void) const
スキップ再生モードを強制するか否かを取得
Definition GxUnitRealTimeDemo.h:315
static GX_FORCE_INLINE GxRtti * getRttiCreateCamera(void)
継承するRTD用カメラクラスを取得
Definition GxUnitRealTimeDemo.h:304
static constexpr void setRttiCreateCharacter(GxRtti *pRtti)
継承するRTD用キャラクタクラスを設定
Definition GxUnitRealTimeDemo.h:302
constexpr GxResRealTimeDemo * getResource(u32 index)
リソースを取得
Definition GxUnitRealTimeDemo.h:222
GX_FORCE_INLINE GxArrayClassBase * getUnitArray(u32 index)
ユニット配列を取得
Definition GxUnitRealTimeDemo.h:336
constexpr void setEndFrameMode(END_FRAME_MODE mode)
再生終了時のふるまい方を設定
Definition GxUnitRealTimeDemo.h:267
constexpr GxResRealTimeDemo * getRTDResource(u32 index)
リソースを取得
Definition GxUnitRealTimeDemo.h:225
GX_FORCE_INLINE const GxArrayClassBase * getReplaceUnitArray(void)
置き換えユニット配列の取得
Definition GxUnitRealTimeDemo.h:297
GX_FORCE_INLINE void setForceSkipPlayMode(b32 enable)
Definition GxUnitRealTimeDemo.h:313
virtual GX_FORCE_INLINE void stopCall(void)
停止時コールバック関数
Definition GxUnitRealTimeDemo.h:193
virtual GX_FORCE_INLINE b32 isSetupFinished(void)
追加リソースロード待ち関数(主にリソースシステムに管理されない外部ライブラリとの連携用)
Definition GxUnitRealTimeDemo.h:334
static constexpr void setRttiCreateCamera(GxRtti *pRtti)
継承するRTD用カメラクラスを設定
Definition GxUnitRealTimeDemo.h:306
virtual GX_FORCE_INLINE void playCall(void)
再生開始時コールバック関数
Definition GxUnitRealTimeDemo.h:191
INTERPOLATE_TYPE
キーの補間タイプ
Definition GxUnitRealTimeDemo.h:52
END_FRAME_MODE
再生終了時の扱い
Definition GxUnitRealTimeDemo.h:67
GX_FORCE_INLINE b32 _isPausing(void) const
一時停止中判定(実際に一時停止中か)
Definition GxUnitRealTimeDemo.h:237
GX_FORCE_INLINE void setCallbackStop(GxCallback::GxHandlerBase handler)
停止時コールバックを設定
Definition GxUnitRealTimeDemo.h:309
GUI用
Definition GxDefine.h:194
色(HDR)
Definition GxColor.h:241
Definition GxColor.h:21
クォータニオン
Definition GxQuaternion.h:19
文字列型クラス
Definition GxString.h:18
2次元ベクトル
Definition GxVector.h:34
3次元ベクトル
Definition GxVector.h:245
32bitブーリアン
Definition GxDefine.h:173