群集 More...
#include <GxFlock.h>
Classes | |
struct | GxMemberOrderData |
指令用構造体定義 More... | |
Public Member Functions | |
初期化 | |
GxFlock (void) | |
コンストラクタ | |
~GxFlock (void) override | |
デストラクタ | |
操作 | |
virtual void | update (void) |
更新処理 | |
void | updateAverage (void) |
平均値を更新 | |
void | searchPathAStar (GxPathSet *pPathSet, GxPathSet::GxPathSetArea::SEARCH_TYPE type=GxPathSet::GxPathSetArea::SEARCH_TYPE::NEAR_, GxPathSet::GxPathSetArea::SEARCH_LENGTH length=GxPathSet::GxPathSetArea::SEARCH_LENGTH::SHORT) |
A*探索を実行 | |
void | setRoute (GxPathSet *pPathSet, u32 route) |
ルートを設定 | |
virtual b32 | checkGoal (f32 goalRange=GOAL_RANGE_DEFAULT) |
到着判定 | |
virtual const GxVector3 | getMoveDirect (GxUnitCharacterBase *pCharacter) |
移動方向を取得する | |
void | eraseMember (GxUnitCharacterBase *pCharacter) |
メンバーを削除 | |
![]() | |
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) |
デフォルトオブジェクト判定 | |
Static Public Attributes | |
各種定義 | |
static constexpr u32 | INVALID_ID = 0xFFFFFFFF |
無効なID | |
static const f32 | GOAL_RANGE_DEFAULT = 1.5f |
到着判定範囲 | |
static const f32 | MEMBER_DISTANCE_DEFAULT = 2.0f |
メンバー間の距離のデフォルト値 | |
メンバ変数 | |
GxSysUnit::GxListUnit | _memberList |
メンバーリスト | |
アクセサ | |
u32 | getId (void) const |
IDを取得 | |
void | setId (u32 id) |
IDを設定 | |
virtual void | addMember (GxUnitCharacterBase *pCharacter) |
メンバーを追加 | |
constexpr u32 | getNumMember (void) const |
メンバー数を取得 | |
u32 | getIndex (GxUnitCharacterBase *pCharacter) |
インデックスを取得 | |
u32 | getIndexExceptLeader (GxUnitCharacterBase *pCharacter) |
リーダーを除いたインデックスを取得 | |
GxUnitCharacterBase * | getMemberIndex (u32 index) |
インデックスでメンバーを取得 | |
GxUnitCharacterBase * | getNearMember (GxUnitCharacterBase *pCharacter) |
近くのメンバーを取得 | |
GX_FORCE_INLINE GxSysUnit::GxListUnit * | getMemberList (void) |
メンバーリストを取得 | |
constexpr GxUnitCharacterBase * | getLeader (void) const |
リーダーを取得 | |
GX_FORCE_INLINE b32 | isLeader (GxUnitCharacterBase *pUnit) const |
リーダーか判定 | |
void | changeLeader (void) |
リーダーを交代 | |
void | setLeader (GxUnitCharacterBase *pLeader) |
リーダーを設定 | |
constexpr GxFlock * | getTargetFlock (void) const |
ターゲットの群集を取得 | |
constexpr void | setTargetFlock (GxFlock *pFlock) |
ターゲットの群集を設定 | |
GX_FORCE_INLINE const GxVector3 | getPosAverage (void) const |
平均座標を取得 | |
GX_FORCE_INLINE const GxVector3 | getMoveDirectAverage (void) const |
平均移動方向を取得 | |
GX_FORCE_INLINE b32 | isPath (void) const |
パス移動か判定 | |
GX_FORCE_INLINE void | setPathFlag (b32 flag) |
パス移動か設定 | |
GX_FORCE_INLINE GxPath * | getPath (void) |
パスを取得 | |
GX_FORCE_INLINE b32 | isMoveFlock (void) const |
群集移動か判定 | |
GX_FORCE_INLINE void | setMoveFlock (b32 flag) |
群集移動か設定 | |
constexpr void | setMemberDistance (f32 distance) |
メンバー間距離の設定 | |
constexpr void | setRatioSeparation (f32 ratio) |
引き離しベクトル比率の設定 | |
constexpr void | setRatioAlignment (f32 ratio) |
整列ベクトル比率の設定 | |
constexpr void | setRatioCohesion (f32 ratio) |
結合ベクトル比率の設定 | |
Additional Inherited Members | |
![]() | |
static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
Rttiの取得 | |
群集
|
virtual |
メンバーを追加
pCharacter | [in] 追加メンバー |
|
virtual |
到着判定
goalRange | [in] ゴール範囲 |
void GxFlock::eraseMember | ( | GxUnitCharacterBase * | pCharacter | ) |
メンバーを削除
pCharacter | [in] 削除するキャラクタ |
u32 GxFlock::getIndex | ( | GxUnitCharacterBase * | pCharacter | ) |
インデックスを取得
pCharacter | [in] 対象キャラクタ |
u32 GxFlock::getIndexExceptLeader | ( | GxUnitCharacterBase * | pCharacter | ) |
リーダーを除いたインデックスを取得
pCharacter | [in] 対象キャラクタ |
GxUnitCharacterBase * GxFlock::getMemberIndex | ( | u32 | index | ) |
インデックスでメンバーを取得
index | [in] インデックス |
|
virtual |
移動方向を取得する
pCharacter | [in] 対象キャラクタ |
GxUnitCharacterBase * GxFlock::getNearMember | ( | GxUnitCharacterBase * | pCharacter | ) |
近くのメンバーを取得
pCharacter | [in] 対象キャラクタ |
近くのメンバー |
void GxFlock::searchPathAStar | ( | GxPathSet * | pPathSet, |
GxPathSet::GxPathSetArea::SEARCH_TYPE | type = GxPathSet::GxPathSetArea::SEARCH_TYPE::NEAR_, | ||
GxPathSet::GxPathSetArea::SEARCH_LENGTH | length = GxPathSet::GxPathSetArea::SEARCH_LENGTH::SHORT ) |
A*探索を実行
type | [in] 探索タイプ |
length | [in] 距離条件 |
void GxFlock::setId | ( | u32 | id | ) |
IDを設定
id | [in] ID |
void GxFlock::setLeader | ( | GxUnitCharacterBase * | pLeader | ) |
リーダーを設定
pLeader | [in] リーダー |
void GxFlock::setRoute | ( | GxPathSet * | pPathSet, |
u32 | route ) |
ルートを設定
pPathSet | [in] 経路セット |
route | [in] ルートインデックス |