ユニットシステムクラス
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