OROCHI
 
Loading...
Searching...
No Matches
GxUnitCameraMotion.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(GxUnitCameraMotion, GxUnitCamera, "モーション再生カメラ")
27 // GxClassBaseReference継承クラス用禁止宣言
29
30
31 //-----------------------------------------------------------
33 //-----------------------------------------------------------
35
39 void cleanup(void) override;
40
42 //-----------------------------------------------------------
44 //-----------------------------------------------------------
46protected:
48 b32 setup(void) override;
50 void asyncUpdate(void) override;
51
52public:
54 constexpr GxResMotionPackage* getResourceMotionPackage(void) const { return _pResMotionPackage; }
56 constexpr void setResourceMotionPackage(GxResMotionPackage* pResource){ GX_SET_CLASS_BASE_REFERENCE(_pResMotionPackage, pResource); }
58 b32 createMotion(GxResMotionPackage* pResource);
60 void startMotion(void);
62 void pauseMotion(void);
64 void resumeMotion(void);
66 constexpr GxMotionPlayer* getMotion(void) const { return _pMotion; }
67protected:
69 void updateMotion(void);
71 GX_FORCE_INLINE virtual GxMotionPlayer* allocateMotion(void){ return GX_NEW GxMotionPlayer; }
72private:
74 void getPropertyResourceMotionPackage(void* const pValue);
76 void setPropertyResourceMotionPackage(const void* const pValue);
77
78#if GX_DEVELOP
80 void reloadBegin(void) override;
82 void reloadEnd(void) override;
83#endif // GX_DEVELOP
84
86 //-----------------------------------------------------------
88 //-----------------------------------------------------------
90private:
91 GxMotionPlayer* _pMotion;
92 GxResMotionPackage* _pResMotionPackage;
93 u32 _motionPlaybackFlags;
94 b32 _isFlipRotationZ;
95
97};
98
99GX_UTILITY_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_SET_CLASS_BASE_REFERENCE(__DST__, __SRC__)
オブジェクト設定(参照カウンタを使用する場合)
Definition GxBase.h:318
モーション再生クラス
Definition GxMotionPlayer.h:22
モーションパッケージリソース
Definition GxResMotionPackage.h:20
エフェクトアタッチ機能付きカメラユニット
Definition GxUnitCamera.h:18
モーション付きカメラユニット
Definition GxUnitCameraMotion.h:19
constexpr void setResourceMotionPackage(GxResMotionPackage *pResource)
モーションリソースの設定
Definition GxUnitCameraMotion.h:56
constexpr GxResMotionPackage * getResourceMotionPackage(void) const
モーションリソースの取得
Definition GxUnitCameraMotion.h:54
virtual GX_FORCE_INLINE GxMotionPlayer * allocateMotion(void)
モーションモジュールのメモリ確保
Definition GxUnitCameraMotion.h:71
constexpr GxMotionPlayer * getMotion(void) const
モーションの取得
Definition GxUnitCameraMotion.h:66
32bitブーリアン
Definition GxDefine.h:173