OROCHI
 
Loading...
Searching...
No Matches
GxUnitBase Class Reference

ユニット基礎クラス More...

#include <GxUnitBase.h>

Inheritance diagram for GxUnitBase:
Collaboration diagram for GxUnitBase:

Public Member Functions

初期化
 GxUnitBase (void)
 コンストラクタ
 
void cleanup (void) override
 解放処理
 
アクセサ
constexpr f32 getDeltaTimeFactor (void) const
 デルタタイム係数を取得
 
constexpr void setDeltaTimeFactor (f32 deltaTimeFactor)
 デルタタイム係数を設定
 
constexpr f32 getDeltaTime (void) const
 デルタタイムを取得
 
constexpr void setDeltaTime (f32 deltaTime)
 デルタタイムを設定
 
constexpr f32 getDeltaTimeRatio (void) const
 デルタタイムレート(通常のフレームレートの何倍か)を取得
 
constexpr void setDeltaTimeRatio (f32 deltaTimeRatio)
 デルタタイムレート(通常のフレームレートの何倍か)を設定
 
constexpr STATE getState (void) const
 状態を取得
 
constexpr void setState (STATE state)
 状態を設定(ユーザーは使用してはならない内部使用)
 
GX_FORCE_INLINE b32 isEnable (void) const
 有効か判定
 
constexpr u32 getAttribute (void) const
 属性を取得
 
GX_FORCE_INLINE b32 isAttribute (ATTRIBUTE attribute) const
 属性を判定
 
GX_FORCE_INLINE void setAttribute (ATTRIBUTE attribute, b32 enable)
 属性を設定
 
GX_FORCE_INLINE b32 isRender (void) const
 描画フラグ判定
 
void setRender (b32 enable, b32 withChildren=false)
 描画フラグを設定
 
GX_FORCE_INLINE GxFlag32Index< RENDER_VIEWgetRenderViewFlag (void) const
 描画するビューフラグを取得
 
GX_FORCE_INLINE b32 isRenderView (RENDER_VIEW view) const
 描画するビューを判定
 
GX_FORCE_INLINE void setRenderView (RENDER_VIEW view, b32 enable)
 描画するビューを設定
 
GX_FORCE_INLINE b32 isRenderSubView (RENDER_SUB_VIEW subView) const
 描画するサブビューを判定
 
GX_FORCE_INLINE void setRenderSubView (RENDER_SUB_VIEW subView, b32 enable)
 描画するサブビューを設定
 
GX_FORCE_INLINE b32 isUpdateEnable (UPDATE_TYPE updateType) const
 更新を呼ぶかを判定
 
GX_FORCE_INLINE void setUpdateEnable (UPDATE_TYPE updateType, b32 enable)
 更新を呼ぶかを設定
 
GX_FORCE_INLINE void getPropertyAttributeUpdate (void *const pValue)
 プロパティ用:更新処理の属性を取得
 
GX_FORCE_INLINE void setPropertyAttributeUpdate (const void *const pValue)
 プロパティ用:更新処理の属性を設定
 
template<typename T >
T * getModule (void) const
 モジュールを取得
 
constexpr u32 getChildCount (void) const
 子ユニット数を取得
 
constexpr GxUnitBasegetChild (u32 index) const
 子ユニットを取得
 
constexpr GxUnitBasegetParent (void) const
 親ユニットを取得
 
void setParent (GxUnitBase *pParent)
 親ユニットを設定
 
constexpr GxResUnitInstancegetResUnitInstance (void) const
 ユニットインスタンスリソースを取得
 
void setResUnitInstance (GxResUnitInstance *pResUnitInstance)
 ユニットインスタンスリソースを設定
 
constexpr void getPropertyResUnitInstance (void *const pValue)
 ユニットインスタンスリソースプロパティの取得
 
void setPropertyResUnitInstance (const void *const pValue)
 ユニットインスタンスリソースプロパティの設定
 
GX_FORCE_INLINE const GxTypedObjectgetDefaultObject (void) override
 デフォルトオブジェクトを取得
 
constexpr GxUnitBasegetDefaultUnit (void) const
 デフォルトユニットを取得
 
void setDefaultUnit (GxUnitBase *pDefaultUnit)
 デフォルトユニットを設定
 
- Public Member Functions inherited from GxClassBaseReference
 GxClassBaseReference (void)
 コンストラクタ
 
 GxClassBaseReference (const GxClassBaseReference &base)
 コピーコンストラクタ
 
 ~GxClassBaseReference (void) override
 デストラクタ
 
constexpr GxClassBaseReferenceoperator= (const GxClassBaseReference &base)
 代入演算子
 
virtual s32 addReference (void)
 参照カウンタを加算
 
virtual s32 release (void)
 解放
 
virtual s32 getReferenceCount (void) const
 参照カウンタを取得
 
constexpr void setDelayReleaseCount (s32 count)
 遅延解放カウンタを設定
 
void setDelayReleaseCountInfinity (b32 on)
 無限解放待ちの設定
 
- Public Member Functions inherited from GxClassBaseRoot
constexpr GxClassBaseRoot (void)
 コンストラクタ
 
constexpr GxClassBaseRoot (const GxClassBaseRoot &)
 コピーコンストラクタ
 
virtual ~GxClassBaseRoot (void)
 デストラクタ
 
constexpr GxClassBaseRootoperator= (const GxClassBaseRoot &)
 代入演算子
 
virtual GxRttigetRtti (void) const =0
 Rttiの取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 

定義

enum class  STATE { SETUP , RUNNING , DELETE_ }
 状態 More...
 
enum  ATTRIBUTE {
  ATTRIBUTE_UPDATE = (1 << 0) , ATTRIBUTE_SELECTED = (1 << 1) , ATTRIBUTE_LOCK = (1 << 2) , ATTRIBUTE_SLOW = (1 << 3) ,
  ATTRIBUTE_NOSERIALIZE = (1 << 4)
}
 属性 More...
 
class GxSysUnit
 

操作

void sleep (f32 time)
 スリープ(スクリプト用)
 
template<typename T >
T * createAndAddChild (u32 listProcessNumber=U32_MAX, u32 listKindNumber=U32_MAX, b32 isSerialize=false, const GxRtti *pRtti=nullptr)
 子ユニットを追加作成
 
virtual void kill (void)
 消去リクエスト
 
virtual b32 setup (void)
 セットアップ(初回にasyncUpdate前に一回呼ばれる)
 
virtual void preAsyncUpdate (void)
 並列更新(asyncUpdateの前に実行される)
 
virtual void asyncUpdate (void)
 並列更新
 
virtual void postAsyncUpdate (void)
 並列更新(asyncUpdateの後に実行される)
 
virtual void sequentialUpdate (void)
 逐次更新
 
virtual void forceAsyncUpdate (void)
 強制並列更新(pause中も実行)
 
virtual void render (void)
 描画
 
virtual b32 setRenderMaterial (GxRenderMaterial *pMaterial, const GxResModel::GxMeshGroup *pMeshGroup)
 マテリアルの描画設定
 
template<typename T >
T * addModule (void)
 モジュールを作成
 
template<typename T >
void removeModule (void)
 モジュールを削除
 

Additional Inherited Members

- Static Public Member Functions inherited from GxClassBaseReference
static void initializeDelayRelease (void)
 遅延解放リストの初期化
 
static void terminateDelayRelease (void)
 遅延解放リストの終了
 
static void updateDelayRelease (void)
 遅延解放リストの更新
 
static b32 isDelayReleaseEnable (void)
 遅延解放システムの有効判定
 
static u32 getDelayReleaseListCount (void)
 遅延解放待ちの数を取得
 
- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 
- Static Public Attributes inherited from GxClassBaseReference
static constexpr s32 DELAY_RELEASE_COUNT_INFINITY = -1
 遅延解放の無限待ち定義
 
- Protected Attributes inherited from GxClassBaseReference
s32 _referenceCount
 参照カウンタ
 
s32 _delayReleaseCount
 遅延解放カウンタ
 

Detailed Description

ユニット基礎クラス

Member Enumeration Documentation

◆ ATTRIBUTE

属性

Enumerator
ATTRIBUTE_UPDATE 

updateを呼ぶか

ATTRIBUTE_SELECTED 

選択されているか

ATTRIBUTE_LOCK 

killを無視する

ATTRIBUTE_SLOW 

スローが適用される

ATTRIBUTE_NOSERIALIZE 

シリアライズしない

◆ STATE

enum class GxUnitBase::STATE
strong

状態

Enumerator
SETUP 

初期化中

RUNNING 

更新中

DELETE_ 

消去中

Member Function Documentation

◆ asyncUpdate()

◆ cleanup()

◆ forceAsyncUpdate()

◆ getDefaultObject()

GX_FORCE_INLINE const GxTypedObject * GxUnitBase::getDefaultObject ( void )
inlineoverridevirtual

デフォルトオブジェクトを取得

Reimplemented from GxClassBaseRoot.

◆ kill()

void GxUnitBase::kill ( void )
virtual

消去リクエスト

Reimplemented in GxUnitChainModel, GxUnitCharacterBase, GxUnitClothModel, GxUnitLocate, and GxUnitSoftbodySimulation.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ postAsyncUpdate()

void GxUnitBase::postAsyncUpdate ( void )
protectedvirtual

並列更新(asyncUpdateの後に実行される)

Reimplemented in GxUnitCameraBase, GxUnitChainModel, GxUnitClothModel, GxUnitModel, GxUnitSoftbodyBase, and GxUnitSoftbodyCollision.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ preAsyncUpdate()

void GxUnitBase::preAsyncUpdate ( void )
protectedvirtual

並列更新(asyncUpdateの前に実行される)

Reimplemented in GxUnit2DBase, GxUnitCharacterBase, GxUnitLocate, and GxUnitModelBase.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ render()

void GxUnitBase::render ( void )
protectedvirtual

描画

Reimplemented in GxUnit2DBase, GxUnitFade, GxUnitLocate, GxUnitModelBase, GxUnitProjector, GxUnitSoftbodyBase, GxUnitSoftbodyCollision, and GxUnitSound.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sequentialUpdate()

void GxUnitBase::sequentialUpdate ( void )
protectedvirtual

逐次更新

Reimplemented in GxUnitCameraFreeView, GxUnitHudText, GxUnitRealTimeDemo, and GxUnitSoftbodySimulation.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setDefaultUnit()

void GxUnitBase::setDefaultUnit ( GxUnitBase * pDefaultUnit)

デフォルトユニットを設定

Parameters
pDefaultUnit[in] デフォルトユニット
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setParent()

void GxUnitBase::setParent ( GxUnitBase * pParent)

親ユニットを設定

Parameters
pParent[in] 親ユニット
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPropertyResUnitInstance()

void GxUnitBase::setPropertyResUnitInstance ( const void *const pValue)

ユニットインスタンスリソースプロパティの設定

Parameters
pValue[in] ユニットインスタンスリソース
Here is the call graph for this function:

◆ setRender()

void GxUnitBase::setRender ( b32 enable,
b32 withChildren = false )

描画フラグを設定

Parameters
enable[in] 描画するならtrue
withChildren[in] 子にも設定するならtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setRenderMaterial()

b32 GxUnitBase::setRenderMaterial ( GxRenderMaterial * pMaterial,
const GxResModel::GxMeshGroup * pMeshGroup )
protectedvirtual

マテリアルの描画設定

Parameters
pMaterial[in] マテリアル
pMeshGroup[in] メッシュグループ
Returns
描画継続ならtrue

Reimplemented in GxUnitModel, and GxUnitModelBase.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setResUnitInstance()

void GxUnitBase::setResUnitInstance ( GxResUnitInstance * pResUnitInstance)

ユニットインスタンスリソースを設定

Parameters
pResUnitInstance[in] ユニットインスタンスリソース
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setup()

b32 GxUnitBase::setup ( void )
protectedvirtual

セットアップ(初回にasyncUpdate前に一回呼ばれる)

Returns
成功ならtrue

Reimplemented in GxUnit2DBase, GxUnitCameraBase, GxUnitCameraFreeView, GxUnitCameraMotion, GxUnitChainBase, GxUnitChainModel, GxUnitCharacterBase, GxUnitClothBase, GxUnitClothModel, GxUnitHudScrollbar, GxUnitHudScrollbarHundle, GxUnitHudScrollContent, GxUnitHudScrollView, GxUnitHudScrollViewport, GxUnitLightProbe, GxUnitLightShadow, GxUnitLocate, GxUnitModelBase, and GxUnitPlateau.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sleep()

void GxUnitBase::sleep ( f32 time)

スリープ(スクリプト用)

Parameters
time[in] 秒数
Here is the call graph for this function:

The documentation for this class was generated from the following files: