ユニットシステムクラス
More...
#include <GxSysUnit.h>
|
|
|
| GxSysUnit (void) |
| | コンストラクタ
|
| |
|
| ~GxSysUnit (void) override |
| | デストラクタ
|
| |
| b32 | initialize (const GxClassBase *pInitializeInformation) override |
| | 初期化
|
| |
| void | initializeSpaceGraph (u32 level, GxVector3 &min, GxVector3 &max, u32 levelNonShared=0, u32 numCsecShared=10) |
| |
| void | terminate (void) override |
| | 終了
|
| |
| void | terminateSpaceGraph (void) |
| | 空間木を開放(ステージ変更時などに使用)
|
| |
|
template<typename T > |
| T * | getModule (void) const |
| | モジュールを取得
|
| |
|
| GxSysBase (void) |
| | デフォルトコンストラクタ
|
| |
|
| ~GxSysBase (void) override |
| | デストラクタ
|
| |
| virtual void | update (void) |
| | 更新
|
| |
| b32 | isLocked (void) |
| | クリティカルセクションのロック状態を確認する
|
| |
| void | sleep (f32 time) |
| | スリープ(スクリプト用)
|
| |
|
constexpr | GxClassBase (void) |
| | コンストラクタ
|
| |
|
constexpr | GxClassBase (const GxClassBase &base) |
| | コピーコンストラクタ
|
| |
|
| ~GxClassBase (void) override |
| | デストラクタ
|
| |
|
constexpr | GxClassBaseRoot (void) |
| | コンストラクタ
|
| |
|
constexpr | GxClassBaseRoot (const GxClassBaseRoot &) |
| | コピーコンストラクタ
|
| |
|
virtual | ~GxClassBaseRoot (void) |
| | デストラクタ
|
| |
|
constexpr GxClassBaseRoot & | operator= (const GxClassBaseRoot &) |
| | 代入演算子
|
| |
|
virtual GxRtti & | getRtti (void) const =0 |
| | Rttiの取得
|
| |
| virtual GX_FORCE_INLINE const GxTypedObject * | getDefaultObject (void) |
| | デフォルトオブジェクトを取得
|
| |
|
GX_FORCE_INLINE b32 | isDefaultObject (void) |
| | デフォルトオブジェクト判定
|
| |
|
| SingletonBase (void) |
| | コンストラクタ
|
| |
|
| ~SingletonBase (void) |
| | デストラクタ
|
| |
|
|
class | GxUnitBase |
| |
|
static constexpr u32 | LIST_KIND_MAX = GxMath::VALUE_32 |
| | 分類用リストの最大数
|
| |
|
| 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) |
| | 全リストの描画
|
| |
|
void | drawSpaceGraph (void) |
| | 空間木の描画
|
| |
| GxUnitBase * | createAndAddTop (u32 listProcessNumber, u32 listKindNumber, const GxRtti &rtti) |
| | 指定リストの先頭にユニットを追加作成
|
| |
| GxUnitBase * | createAndAddBottom (u32 listProcessNumber, u32 listKindNumber, const GxRtti &rtti) |
| | 指定リストの終端にユニットを追加作成
|
| |
|
GX_FORCE_INLINE GxUnitBase * | createAndAddBottom (const GxRtti &rtti) |
| | リストの終端にユニットを追加作成
|
| |
| void | addBottom (GxUnitBase *pUnit, u32 listProcessNumber, u32 listKindNumber) |
| | 指定リストの終端にユニットを追加(デシリアライズ時のみ使用可)
|
| |
| virtual void | onAddUnit (GxUnitBase *pUnit, u32 listProcessNumber, u32 listKindNumber, const GxRtti &rtti) |
| | ユニット追加時のコールバック
|
| |
|
void | killAll (void) |
| | 全リストのユニットを全て削除
|
| |
| void | setAttributeAll (GxUnitBase::ATTRIBUTE attribute, b32 enable) |
| | アトリビュートを全て設定
|
| |
| void | setViewportAll (RENDER_VIEW view, b32 enable) |
| | ビューポートに全て設定
|
| |
| void | killByIncludeRtti (const GxRtti &rtti) |
| | 指定Rttiを継承したユニットをkill
|
| |
|
GX_FORCE_INLINE void | pushCmdBuildSpaceGraph (void) |
| | 空間木構築に次のPostAsync後にユニットが格納されるようにフラグセット
|
| |
| void | storeUnit (GxArrayClassBase &storeList, GxArrayClassBase &parentList, const GxArrayClassBase &unitArray, u32 attributeCondition=GxUnitBase::ATTRIBUTE_NOSERIALIZE, b32 enableCondition=true) |
| | ユニットを退避
|
| |
| void | restoreUnit (GxArrayClassBase &storeList, GxArrayClassBase &parentList) |
| | ユニットを復元
|
| |
|
|
template<typename T > |
| T * | getUnit (void) |
| | 指定RTTIのユニットを1つ取得
|
| |
|
template<typename T > |
| void | getUnitList (GxArrayClassBase &unitList) |
| | 指定RTTIのユニットリストを取得
|
| |
|
template<typename T > |
| void | getDerivedUnitList (GxArrayClassBase &unitList) |
| | 指定RTTI継承のユニットリストを取得
|
| |
|
virtual GX_FORCE_INLINE u32 | getProcessListNumber (const GxRtti &) |
| | ユニット生成時の処理リスト番号を取得
|
| |
|
virtual GX_FORCE_INLINE u32 | getKindListNumber (const GxRtti &) |
| | ユニット生成時の種別リスト番号を取得
|
| |
| void | addToListOctreeBuildReserve (GxUnitLocate *pUnitLocate) |
| | 8分木への追加登録用リストにユニットを追加
|
| |
| void | deleteFromListOctreeBuildReserve (GxUnitLocate *pUnitLocate) |
| | 8分木への追加登録用リストからユニットを削除
|
| |
|
constexpr u32 | getListProcessMax (void) const |
| | 処理用リストの最大数を取得
|
| |
| GxListUnit * | getListProcess (u32 listProcessNumber) const |
| | 処理用リストを取得
|
| |
| GxListUnit * | getListProcess (GxUnitBase *pUnit) const |
| | 処理用リストを取得
|
| |
| GxListUnit * | getListKind (u32 listKindNumber) const |
| | 分類用リストを取得
|
| |
| GxListUnit * | getListKind (GxUnitBase *pUnit) const |
| | 分類用リストを取得
|
| |
| void | changeListKind (GxUnitBase *pUnit, u32 listNumber) |
| | 分類用リストを変更
|
| |
|
GX_FORCE_INLINE const GxArrayClassBase & | getRootUnitList (void) const |
| | ルートユニットリストを取得
|
| |
| u32 | getUnitCount (void) const |
| | 全リストのユニット数を取得
|
| |
|
GX_FORCE_INLINE b32 | isSlow (void) |
| | スロー設定か判定
|
| |
|
GX_FORCE_INLINE void | setSlow (f32 timeRatio=1.0f) |
| | スロー時間比率を設定
|
| |
|
constexpr s32 | getSpaceGraphLebel (void) const |
| | 8分木の階層レベルを取得
|
| |
|
constexpr s32 | getSpaceGraphLebel (void) |
| | 8分木の階層レベルを取得
|
| |
|
constexpr void | setSpaceGraphLebel (s32 value) |
| | 8分木の階層レベルを設定
|
| |
|
constexpr GxOctree * | getSpaceGraphPointer (void) const |
| | 8分木を取得
|
| |
|
constexpr GxOctree * | getSpaceGraphPointer (void) |
| | 8分木を取得
|
| |
|
GX_FORCE_INLINE const b32 | isCullingSkip (void) const |
| | 現在カリングされた回数を取得
|
| |
|
GX_FORCE_INLINE b32 | isCullingSkip (void) |
| | 現在カリングされた回数を取得
|
| |
|
GX_FORCE_INLINE void | startSkipCulling (void) |
| | 現在カリングされた回数を取得
|
| |
|
GX_FORCE_INLINE void | stopSkipCulling (void) |
| | 現在カリングされた回数を取得
|
| |
|
virtual GxUnitCameraBase * | getMainCamera (void) |
| | メインのカメラユニットを取得
|
| |
◆ addBottom()
| void GxSysUnit::addBottom |
( |
GxUnitBase * | pUnit, |
|
|
u32 | listProcessNumber, |
|
|
u32 | listKindNumber ) |
指定リストの終端にユニットを追加(デシリアライズ時のみ使用可)
- Parameters
-
| pUnit | [in] 追加するユニット |
| listProcessNumber | [in] 処理用リスト番号 |
| listKindNumber | [in] 分類用リスト番号 |
◆ addToListOctreeBuildReserve()
| void GxSysUnit::addToListOctreeBuildReserve |
( |
GxUnitLocate * | pUnitLocate | ) |
|
8分木への追加登録用リストにユニットを追加
- Parameters
-
◆ changeListKind()
| void GxSysUnit::changeListKind |
( |
GxUnitBase * | pUnit, |
|
|
u32 | listNumber ) |
分類用リストを変更
- Parameters
-
| pUnit | [in] ユニット |
| listNumber | [in] 変更後のリスト番号 |
◆ createAndAddBottom()
| GxUnitBase * GxSysUnit::createAndAddBottom |
( |
u32 | listProcessNumber, |
|
|
u32 | listKindNumber, |
|
|
const GxRtti & | rtti ) |
指定リストの終端にユニットを追加作成
- Parameters
-
| listProcessNumber | [in] 処理用リスト番号 |
| listKindNumber | [in] 分類用リスト番号 |
| rtti | [in] RTTI |
- Returns
- 追加ユニット
◆ createAndAddTop()
| GxUnitBase * GxSysUnit::createAndAddTop |
( |
u32 | listProcessNumber, |
|
|
u32 | listKindNumber, |
|
|
const GxRtti & | rtti ) |
指定リストの先頭にユニットを追加作成
- Parameters
-
| listProcessNumber | [in] 処理用リスト番号 |
| listKindNumber | [in] 分類用リスト番号 |
| rtti | [in] RTTI |
- Returns
- 追加ユニット
◆ deleteFromListOctreeBuildReserve()
| void GxSysUnit::deleteFromListOctreeBuildReserve |
( |
GxUnitLocate * | pUnitLocate | ) |
|
8分木への追加登録用リストからユニットを削除
- Parameters
-
◆ getListKind() [1/2]
分類用リストを取得
- Parameters
-
- Returns
- ユニットリスト
◆ getListKind() [2/2]
分類用リストを取得
- Parameters
-
- Returns
- ユニットリスト
◆ getListProcess() [1/2]
処理用リストを取得
- Parameters
-
- Returns
- ユニットリスト
◆ getListProcess() [2/2]
処理用リストを取得
- Parameters
-
| listProcessNumber | [in] リスト番号 |
- Returns
- ユニットリスト
◆ getUnitCount()
| u32 GxSysUnit::getUnitCount |
( |
void | | ) |
const |
全リストのユニット数を取得
- Returns
- ユニット数
◆ initialize()
| b32 GxSysUnit::initialize |
( |
const GxClassBase * | pInitializeInformation | ) |
|
|
overridevirtual |
初期化
- Parameters
-
| pInitializeInformation | [in] 初期化情報 |
- Returns
- 成功ならtrue
Reimplemented from GxSysBase.
Reimplemented in GxSysUnitFlock.
◆ initializeSpaceGraph()
| void GxSysUnit::initializeSpaceGraph |
( |
u32 | level, |
|
|
GxVector3 & | min, |
|
|
GxVector3 & | max, |
|
|
u32 | levelNonShared = 0, |
|
|
u32 | numCsecShared = 10 ) |
空間木を初期化(ステージ変更時などに使用) levelNonShared, numCsecSharedを変更することで、使用する同期ユニット数が変わる。
- Parameters
-
| level | [in] 空間木の深さ |
| min | [in] 空間木のAABBのmin |
| max | [in] 空間木のAABBのmax |
| levelNonShare | [in] 同期オブジェクトを共有しないツリー深さ。生成されるオブジェクト数は1で1+8, 2で1+8+64, 3で1+8+64+512... |
| numCsecShared | [in] 共有同期オブジェクトの数 |
◆ killByIncludeRtti()
| void GxSysUnit::killByIncludeRtti |
( |
const GxRtti & | rtti | ) |
|
指定Rttiを継承したユニットをkill
- Parameters
-
| rtti | [in] kill処理を行うUnitRTTI |
◆ onAddUnit()
| void GxSysUnit::onAddUnit |
( |
GxUnitBase * | pUnit, |
|
|
u32 | listProcessNumber, |
|
|
u32 | listKindNumber, |
|
|
const GxRtti & | rtti ) |
|
virtual |
ユニット追加時のコールバック
- Parameters
-
| pUnit | [in] ユニット |
| listProcessNumber | [in] プロセス番号 |
| listKindNumber | [in] 種類番号 |
| rtti | [in] RTTI |
◆ preAsyncUpdate()
| void GxSysUnit::preAsyncUpdate |
( |
void | | ) |
|
|
virtual |
◆ restoreUnit()
ユニットを復元
- Parameters
-
| storeList | [in,out] 復元ユニットリスト |
| parentList | [in,out] 復元ユニットの親のリスト |
◆ setAttributeAll()
アトリビュートを全て設定
- Parameters
-
| attribute | [in] 属性 |
| enable | [in] 有効ならtrue |
◆ setViewportAll()
ビューポートに全て設定
- Parameters
-
| view | [in] ビュー |
| enable | [in] 有効ならtrue |
◆ storeUnit()
ユニットを退避
- Parameters
-
| storeList | [out] 退避ユニットリスト |
| parentList | [out] 退避ユニットの親のリスト |
| unitArray | [in] チェック対象ユニットリスト |
| attributeCondition | [in] 属性条件(GxUnitBase::ATTRIBUTE) |
| enableCondition | [in] 属性有効条件(一致したら退避) |
◆ terminate()
| void GxSysUnit::terminate |
( |
void | | ) |
|
|
overridevirtual |
◆ terminateSpaceGraph()
| void GxSysUnit::terminateSpaceGraph |
( |
void | | ) |
|
空間木を開放(ステージ変更時などに使用)
- Returns
- 成功ならtrue
The documentation for this class was generated from the following files:
- C:/Users/t-arai/Documents/workspace/orochi_package_windows/middleware/GxCore/src/GxSysUnit.h
- C:/Users/t-arai/Documents/workspace/orochi_package_windows/middleware/GxCore/src/GxSysUnit.cpp