イベントあたりオブジェクトクラス 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) |
攻撃力を設定 | |
![]() | |
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形状を再設定 | |
![]() | |
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) |
デフォルトオブジェクト判定 | |
定義 | |
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 | |
![]() | |
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 GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
Rttiの取得 | |
![]() | |
static constexpr u32 | CHECK_FLAG_ALL = 0x7fffffff |
全フラグ定数 | |
![]() | |
GX_FORCE_INLINE void | updateActiveFlag (void) |
アクティブフラグ更新 | |
GX_FORCE_INLINE void | updateUnitPointer (void) |
ユニットポインタの更新 | |
![]() | |
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 |