イベントあたりオブジェクトクラス More...
#include <GxAttackHit.h>


Classes | |
| class | GxAttackRecord |
| class | GxDamageRecord |
Public Member Functions | |
初期化 | |
| GxObject (void) | |
| デフォルトコンストラクタ | |
| ~GxObject (void) override | |
| デストラクタ | |
| void | initialize (b32 active, u32 id, const GxMatrixAffine *pMatrix0, const GxVector3 &offset0, const GxMatrixAffine *pMatrix1, const GxVector3 &offset1) override |
| オブジェクトの初期化 | |
| GX_FORCE_INLINE void | initializeActiveOff (void) override |
| アクティブOFF時のパラメータ初期化 | |
| void | initializeUpdate (void) override |
| 更新前のパラメータ初期化 | |
操作 | |
| b32 | isNeedCheck (GxCollision::GxObject *pCollisionObject) override |
| お互いの当たり判定が必要かどうか | |
| void | update (void) override |
| オブジェクト位置の更新 | |
| void | setHitParam (void) |
| ヒットパラメータをセットする | |
| b32 | allocAttackRecord (void) |
| 攻撃記録情報の確保 | |
| void | initializeAttackRecord (void) |
| 攻撃記録情報の初期化 | |
| u32 | getAttackRecordIndex (u32 idDamage) |
| 空いている攻撃記録情報のインデックスを取得する | |
| void | registerAttackRecord (u32 index, GxAttackHit::GxObject *pTarget, const GxVector3 &position, const GxVector3 &vector, const GxVector3 &normal, u32 idDamage) |
| 攻撃記録情報への登録 | |
| b32 | allocDamageRecord (void) |
| ダメージ記録クラスの確保 | |
| void | initializeDamageRecord (void) |
| ダメージ記録の初期化 | |
アクセサ | |
| constexpr u32 | getAttribute (void) const |
| 属性を取得 | |
| constexpr void | setAttribute (u32 attribute) |
| 属性を設定 | |
| constexpr void | onAttribute (u32 attribute) |
| 属性を有効化 | |
| constexpr void | offAttribute (u32 attribute) |
| 属性を無効化 | |
| constexpr ATTACK_DIRECT | getAttackDirecType (void) const |
| 攻撃ベクトル方向のタイプを取得 | |
| constexpr void | setAttackDirecType (ATTACK_DIRECT type) |
| 攻撃ベクトル方向のタイプを設定 | |
| constexpr TYPE | getType (void) const |
| タイプの取得 | |
| void | setType (TYPE type) |
| タイプの設定 | |
| constexpr s32 | getPriority (void) const |
| 優先順位の取得 | |
| constexpr void | setPriority (s32 priority) |
| 優先順位の設定 | |
| constexpr u32 | getDamageGroup (void) const |
| ダメージグループの取得 | |
| constexpr void | setDamageGroup (u32 damageGroup) |
| ダメージグループの設定 | |
| GX_FORCE_INLINE b32 | getResult (void) const |
| 当たったかどうかの取得 | |
| GX_FORCE_INLINE void | setResult (b32 result) |
| 当たったかどうかの設定 | |
| constexpr GxObject * | getTarget (void) |
| 攻撃相手の取得 | |
| constexpr void | setTarget (GxObject *pTarget) |
| 攻撃相手のセット | |
| GX_FORCE_INLINE const GxVector3 & | getOldCenter (void) const |
| 前フレーム中心位置を取得 | |
| void | executeHitCallback (void) |
| コールバック関数の実行 | |
| constexpr void | setHitCallback (HIT_CALLBACK pCallBack) |
| コールバック関数の設定 | |
| GX_FORCE_INLINE const GxVector3 & | getHitPosOnDamage (void) |
| ヒット点の取得 | |
| GX_FORCE_INLINE void | setHitPosOnDamage (const GxVector3 &position) |
| ヒット点の設定 | |
| GX_FORCE_INLINE const GxVector3 & | getHitDirection (void) const |
| 攻撃方向の取得 | |
| GX_FORCE_INLINE void | setHitDirection (const GxVector3 &vector) |
| 攻撃方向の設定 | |
| GX_FORCE_INLINE const GxVector3 & | getHitNormal (void) const |
| ダメージ法線方向の取得 | |
| GX_FORCE_INLINE void | setHitNormal (const GxVector3 &normal) |
| ダメージ法線方向の設定 | |
| constexpr GxAttackRecord * | getAttackRecord (void) const |
| 攻撃記録クラス取得 | |
| constexpr GxDamageRecord * | getDamageRecord (void) const |
| ダメージ記録クラス取得 | |
| constexpr f32 | getPower (void) const |
| 攻撃力を取得 | |
| constexpr void | setPower (f32 power) |
| 攻撃力を設定 | |
Public Member Functions inherited from GxCollision::GxObject | |
| GxObject (void) | |
| デフォルトコンストラクタ | |
| ~GxObject (void) override | |
| デストラクタ | |
| constexpr GxShape * | getShape (void) const |
| GXオブジェクト形状の取得 | |
| constexpr COLLISION_SHAPE | getShapeType (void) const |
| オブジェクト形状タイプの取得 | |
| constexpr GxCollision::GxWorld * | getRegisterWorld (void) const |
| 登録したワールドのアドレスを取得 | |
| constexpr void | setRegisterWorld (GxCollision::GxWorld *pWorld) |
| 登録したワールドのアドレスを設定 | |
| GX_FORCE_INLINE const GxMatrixAffine * | getMatrixAddress0 (void) const |
| マトリクス0のアドレス取得 | |
| GX_FORCE_INLINE const GxMatrixAffine * | getMatrixAddress1 (void) const |
| マトリクス1のアドレス取得 | |
| GX_FORCE_INLINE void | setMatrixAddress0 (const GxMatrixAffine *pMatrix) |
| マトリクス0のアドレス設定 | |
| GX_FORCE_INLINE void | setMatrixAddress1 (const GxMatrixAffine *pMatrix) |
| マトリクス1のアドレス設定 | |
| GX_FORCE_INLINE GxMatrixAffine | getMatrix0 (void) const |
| マトリクス0の取得 | |
| GX_FORCE_INLINE GxMatrixAffine | getMatrix1 (void) const |
| マトリクス1の取得 | |
| GX_FORCE_INLINE const GxVector3 & | getOffset0 (void) const |
| オフセット0の取得 | |
| GX_FORCE_INLINE const GxVector3 & | getOffset1 (void) const |
| オフセット1の取得 | |
| GX_FORCE_INLINE void | setOffset0 (const GxVector3 &offset) |
| オフセット0の設定 | |
| GX_FORCE_INLINE void | setOffset1 (const GxVector3 &offset) |
| オフセット1の設定 | |
| GX_FORCE_INLINE const GxQuaternion & | getQuaternion (void) |
| 回転の取得 | |
| GX_FORCE_INLINE void | setQuaternion (const GxQuaternion &quaternion) |
| 回転の設定 | |
| GX_FORCE_INLINE b32 | getActiveFlag (u32 flag) const |
| アクティブフラグ取得 | |
| constexpr u32 | getActiveFlagAll (void) const |
| 全アクティブフラグ取得 | |
| GX_FORCE_INLINE void | setActiveFlag (u32 flag, b32 value) |
| アクティブフラグ設定 | |
| GX_FORCE_INLINE b32 | isActive (void) const |
| アクティブかどうか取得 | |
| void | setActive (b32 active) |
| アクティブかどうか設定 | |
| GX_FORCE_INLINE b32 | isActiveOld (void) const |
| constexpr GxUnitBase * | getUnit (void) const |
| ユニット取得 | |
| GX_FORCE_INLINE void | setUnit (GxUnitBase *pUnit) |
| ユニット設定 | |
| constexpr u32 | getId (void) const |
| ID取得 | |
| constexpr void | setId (u32 id) |
| ID設定 | |
| constexpr s32 | getMaterial (void) const |
| マテリアルの取得 | |
| constexpr void | setMaterial (s32 material) |
| マテリアルの設定 | |
| constexpr u32 | getCheckFlag (void) const |
| チェックフラグの取得 | |
| constexpr void | setCheckFlag (u32 flag) |
| チェックフラグの設定 | |
| constexpr void | onCheckFlag (u32 flag) |
| チェックフラグの有効化 | |
| constexpr void | offCheckFlag (u32 flag) |
| チェックフラグの無効化 | |
| constexpr s16 | getGroup (void) const |
| グループの取得 | |
| constexpr s16 | getMask (void) const |
| マスクの取得 | |
| void | setGroupMask (s16 group, s16 mask) |
| グループ・マスク設定 | |
| b32 | setSphereRadius (f32 radius) |
| 球の半径変更 | |
| b32 | setMultisphereRadius (f32 radius0, f32 radius1) |
| マルチ球の半径変更 | |
| b32 | setCapsuleRadius (f32 radius) |
| カプセルの半径変更 | |
| b32 | setBoxExtent (const GxVector3 &extent) |
| 箱のサイズ変更 | |
| b32 | setCylinderExtent (const f32 radius, const f32 heightHalf) |
| 円柱のサイズ変更 | |
| b32 | transformMeshVertex (const GxMatrixAffine &matrix) |
| メッシュ頂点の変形 | |
| void | getCenterPosition (GxVector3 ¢erPosition) |
| 中心位置の取得 | |
| const GxMatrixAffine | getCenterMatrix (void) |
| 中心のマトリクスを取得 | |
| f32 | getRadiusMin (void) |
| 最小半径の取得 | |
| const GxVector3 | getNormal (const GxVector3 &position) |
| 法線の取得 | |
| GX_FORCE_INLINE btCollisionObject * | getBulletCollisionObject (void) |
| BULLETコリジョンオブジェクトの取得 | |
| constexpr btCollisionShape * | getBulletCollisionShape (void) const |
| BULLET形状の取得 | |
| GX_FORCE_INLINE void | getPropertyActiveOld (void *const pValue) |
| 前回のアクティブを取得 | |
| GX_FORCE_INLINE void | getPropertyActive (void *const pValue) |
| アクティブを取得 | |
| constexpr void | setPropertyActiveOld (const void *const) |
| 前回のアクティブを設定 | |
| GX_FORCE_INLINE void | setPropertyActive (const void *const pValue) |
| アクティブを設定 | |
| constexpr void | setCollision (GxCollision *pCollision) |
| 親コリジョンの設定 | |
| constexpr GxCollision * | getCollision (void) const |
| 親コリジョンの取得 | |
| virtual void | prepareCheck (void) |
| 当たり判定チェック前準備 | |
| void | addOffset (const GxVector3 &offset) |
| オフセット加算 | |
| virtual b32 | isHitCheckFlag (u32 targetFlag) |
| チェックフラグからあたり判定が必要かを調べる | |
| virtual b32 | isHitCheckFlagTrimesh (u32 triangleIndex, u32 targetFlag) |
| メッシュ形状の三角形単位で、チェックフラグから当たり判定が必要かを調べる | |
| virtual GX_FORCE_INLINE void | initializeActiveOn (void) |
| アクティブON時のパラメタ初期化 | |
| virtual b32 | createSphere (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeSphere &sphere) |
| 球の作成 | |
| virtual b32 | createBox (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeBox &box) |
| ボックスの作成 | |
| virtual b32 | createMultisphere (b32 active, u32 id, const GxMatrixAffine *pMatrix0, const GxVector3 &offset0, const GxMatrixAffine *pMatrix1, const GxVector3 &offset1, const GxShapeMultisphere &multisphere) |
| マルチ球の作成 | |
| virtual b32 | createCylinder (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeCylinder &cylinder) |
| 円柱の作成 | |
| virtual b32 | createCapsule (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeCapsule &capsule) |
| カプセルの作成 | |
| virtual b32 | createMesh (b32 active, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeTrimesh &trimesh, btTriangleIndexVertexArray *pVertex, b32 isCompress, GxVector3 *pAabbMin=nullptr, GxVector3 *pAabbMax=nullptr) |
| メッシュの作成 | |
| virtual b32 | createMesh (b32 active, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeTrimesh &trimesh, btBvhTriangleMeshShape *pBtTrimeshShape) |
| メッシュの作成(外部からBULLET用のシェイプを取得) | |
| void | resetBulletShape (btCollisionShape *pBtShapeNew) |
| Bullet形状を再設定 | |
Public Member Functions inherited from GxClassBase | |
| constexpr | GxClassBase (void) |
| コンストラクタ | |
| constexpr | GxClassBase (const GxClassBase &base) |
| コピーコンストラクタ | |
| ~GxClassBase (void) override | |
| デストラクタ | |
Public Member Functions inherited from GxClassBaseRoot | |
| 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) |
| デフォルトオブジェクト判定 | |
定義 | |
| enum class | SHIFT { ATTACK_HIT_ONE_HIT = 0 , ATTACK_HIT_CAPSULE_OLD_NEW , ATTACK_HIT_DUMMY_0 , ATTACK_HIT_DUMMY_1 , ATTACK_HIT_MAX } |
| 属性定義用シフト量定義 More... | |
| enum | ATTRIBUTE { ATTRIBUTE_ONE_HIT = (1L << static_cast<s32>(SHIFT::ATTACK_HIT_ONE_HIT)) , ATTRIBUTE_MULTISPHERE_OLD_NEW = (1L << static_cast<s32>(SHIFT::ATTACK_HIT_CAPSULE_OLD_NEW)) } |
| 属性定義 More... | |
| enum class | ATTACK_DIRECT { MANUAL = 0 , OLD_NEW , CENTER_HIT_POSITION , UNIT_DIFF , UNIT_AXIS_Z , MAX } |
| 攻撃ベクトルの方向 More... | |
| enum class | TYPE { ERROR_ , ATTACK , DAMAGE , MAX } |
| enum | GROUP { GROUP_ATTACK = (0x01 << 0) , GROUP_DAMAGE = (0x01 << 1) } |
| typedef void(GxClassBaseRoot::*) | HIT_CALLBACK(GxAttackHit::GxObject *pHit) |
| コールバック定義 | |
Additional Inherited Members | |
Public Types inherited from GxCollision::GxObject | |
| enum | { ACTIVE_FLAG_ACTIVE = (1UL << 0) , ACTIVE_FLAG_ACTIVE_OLD = (1UL << 1) , ACTIVE_FLAG_REQUEST_REGISTER = (1UL << 2) , ACTIVE_FLAG_REQUEST_BAN = (1UL << 3) , ACTIVE_FLAG_REQUEST_DELETE = (1UL << 4) } |
| アクティブフラグ定義 More... | |
Static Public Member Functions inherited from GxClassBaseRoot | |
| static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| Rttiの取得 | |
Static Public Attributes inherited from GxCollision::GxObject | |
| static constexpr u32 | CHECK_FLAG_ALL = 0x7fffffff |
| 全フラグ定数 | |
Protected Member Functions inherited from GxCollision::GxObject | |
| GX_FORCE_INLINE void | updateActiveFlag (void) |
| アクティブフラグ更新 | |
| GX_FORCE_INLINE void | updateUnitPointer (void) |
| ユニットポインタの更新 | |
Protected Attributes inherited from GxCollision::GxObject | |
| btCollisionShape * | _pBtShape |
| BULLET用形状 | |
イベントあたりオブジェクトクラス
|
strong |
グループ定義
| Enumerator | |
|---|---|
| GROUP_ATTACK | 攻撃側のあたり |
| GROUP_DAMAGE | ダメージ側のあたり |
|
strongprotected |
|
strong |
攻撃当たりのタイプ
| Enumerator | |
|---|---|
| ERROR_ | エラー |
| ATTACK | 攻撃用 |
| DAMAGE | ダメージ用 |
| MAX | 定義数 |
| b32 GxAttackHit::GxObject::allocAttackRecord | ( | void | ) |
攻撃記録情報の確保
| b32 GxAttackHit::GxObject::allocDamageRecord | ( | void | ) |
ダメージ記録クラスの確保
| u32 GxAttackHit::GxObject::getAttackRecordIndex | ( | u32 | idDamage | ) |
空いている攻撃記録情報のインデックスを取得する
| idDamage | [in] ダメージ側のID |


|
overridevirtual |
オブジェクトの初期化
| active | [in] アクティブにするかどうか |
| id | [in] 当たりID |
| pMatrix0 | [in] 当たりを引っ付けるマトリクス0 |
| offset0 | [in] 当たりを引っ付けるオフセット0 |
| pMatrix1 | [in] 当たりを引っ付けるマトリクス1 |
| offset1 | [in] 当たりを引っ付けるオフセット1 |
Reimplemented from GxCollision::GxObject.
|
inlineoverridevirtual |
アクティブOFF時のパラメータ初期化
Reimplemented from GxCollision::GxObject.

|
overridevirtual |
|
overridevirtual |
お互いの当たり判定が必要かどうか
| pCollisionObject | [in] 判定相手 |
Reimplemented from GxCollision::GxObject.

| void GxAttackHit::GxObject::registerAttackRecord | ( | u32 | index, |
| GxAttackHit::GxObject * | pTarget, | ||
| const GxVector3 & | position, | ||
| const GxVector3 & | direction, | ||
| const GxVector3 & | normal, | ||
| u32 | idDamage ) |
攻撃記録情報への登録
| index | [in] 登録先インデックス |
| pTarget | [in] 攻撃ヒットオブジェクト |
| position | [in] ヒット位置(ダメージ側オブジェクト上) |
| direction | [in] 攻撃方向 |
| normal | [in] ヒット位置での法線 |
| idDamage | [in] ダメージ側のID |

| void GxAttackHit::GxObject::setHitParam | ( | void | ) |
ヒットパラメータをセットする

| void GxAttackHit::GxObject::setType | ( | TYPE | type | ) |
タイプの設定
| type | [in] タイプ |

|
overridevirtual |