OROCHI
 
Loading...
Searching...
No Matches
GxAttackHit Class Reference

オブジェクトあたりクラス More...

#include <GxAttackHit.h>

Inheritance diagram for GxAttackHit:
Collaboration diagram for GxAttackHit:

Classes

class  GxConditionInformationAttackHit
 判定条件 More...
 
struct  GxConvexCallback
 
class  GxObject
 イベントあたりオブジェクトクラス More...
 
class  GxPairRecord
 
struct  GxRayCallback
 
class  GxWorld
 オブジェクトあたりワールドクラス More...
 

Public Member Functions

初期化
 GxAttackHit (void)
 デフォルトコンストラクタ
 
 ~GxAttackHit (void) override
 デストラクタ
 
- Public Member Functions inherited from GxCollision
 GxCollision (void)
 デフォルトコンストラクタ
 
 ~GxCollision (void) override
 デストラクタ
 
void clearList (void)
 全オブジェクトをリストから削除
 
virtual GxObjectcreateSphere (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeSphere &sphere)
 球の作成
 
virtual GxObjectcreateBox (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeBox &box)
 ボックスの作成
 
virtual GxObjectcreateMultisphere (b32 active, u32 id, const GxMatrixAffine *pMatrix0, const GxVector3 &offset0, const GxMatrixAffine *pMatrix1, const GxVector3 &offset1, const GxShapeMultisphere &multisphere)
 マルチ球の作成
 
virtual GxObjectcreateCylinder (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeCylinder &cylinder)
 円柱の作成
 
virtual GxObjectcreateCapsule (b32 active, u32 id, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeCapsule &capsule)
 カプセルの作成
 
virtual GxObjectcreateMesh (u32 index, b32 active, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeTrimesh &trimesh, btTriangleIndexVertexArray *pVertex, b32 isCompress=true, GxVector3 *pAabbMin=nullptr, GxVector3 *pAabbMax=nullptr)
 背景メッシュの作成
 
virtual GxObjectcreateMesh (u32 index, b32 active, const GxMatrixAffine *pMatrix, const GxVector3 &offset, const GxShapeTrimesh &trimesh, btBvhTriangleMeshShape *pTrimeshShape)
 背景メッシュの作成
 
GxObjectgetObject (u32 index)
 指定インデックスのオブジェクトを取得
 
virtual void deleteObject (GxObject *pObject)
 オブジェクトを削除する
 
virtual void detachObject (GxObject *pObject)
 オブジェクトをリストから切り離す
 
virtual void initialize (GxWorld *pRegistWorld, GxUnitBase *pUnit, GxCollision::COLLISION_CALLBACK pCallback, u32 threadIndex)
 初期設定(スレッドセーフ)
 
virtual void prepareCheck (void)
 当たり判定チェック前準備
 
constexpr GxWorldgetWorld (void) const
 登録ワールドの取得
 
constexpr GxUnitBasegetUnit (void) const
 登録ユニットの取得
 
virtual GX_FORCE_INLINE void initializeActiveOn (void)
 アクティブON時のパラメタ初期化
 
virtual GX_FORCE_INLINE void initializeActiveOff (void)
 アクティブOFF時のパラメタ初期化
 
virtual GX_FORCE_INLINE void initializeUpdate (void)
 更新前のパラメタ初期化
 
virtual void executePostCheckCallback (void)
 チェック後コールバック関数の呼び出し
 
GX_FORCE_INLINE void setHitCallback (GxCollision::COLLISION_CALLBACK pCallback)
 コールバックを設定
 
GX_FORCE_INLINE b32 isActive (void) const
 アクティブ判定
 
void setActive (b32 active)
 アクティブ状態の設定
 
constexpr u32 getObjectCount (void) const
 登録オブジェクトの個数を取得
 
GX_FORCE_INLINE void getPropertyActive (void *const pValue)
 アクティブを取得
 
GX_FORCE_INLINE void setPropertyActive (const void *const pValue)
 アクティブを設定
 
GX_FORCE_INLINE void getPropertyObject (void *const pValue, u32 index)
 当たりオブジェクトを取得
 
constexpr void setPropertyObject (const void *const, u32)
 当たりオブジェクトを設定
 
constexpr u32 getPropertyObjectCount (void) const
 当たりオブジェクト数を取得
 
constexpr void setPropertyObjectCount (u32)
 当たりオブジェクト数を設定
 
- 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 GxClassBaseRootoperator= (const GxClassBaseRoot &)
 代入演算子
 
virtual GxRttigetRtti (void) const =0
 Rttiの取得
 
virtual GX_FORCE_INLINE const GxTypedObjectgetDefaultObject (void)
 デフォルトオブジェクトを取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 

Static Public Attributes

定義
static const GxColor COLOR_OBJECT_ATTACK
 アタック描画色
 
static const GxColor COLOR_OBJECT_DAMAGE
 ダメージ描画色
 
- Static Public Attributes inherited from GxCollision
static const f32 BULLET_MARGIN = CONVEX_DISTANCE_MARGIN
 Bulletのマージン値
 

操作

GxCollision::GxObjectallocObject (void) override
 オブジェクトのメモリ確保
 
GxObjectgetObject (u32 index)
 指定インデックスのオブジェクトを取得
 
void update (void) override
 位置の更新
 
void initializeTargetId (void)
 攻撃相手IDの初期化
 
b32 isSamePair (u32 attackId, u32 damageGroup) const
 ペアが登録済みか判定
 
void setPairData (u32 attackId, u32 damageGroup)
 攻撃相手IDの設定
 
b32 isInvincible (void) const
 無敵時間判定
 
constexpr void setInvincibleTime (f32 time)
 無敵時間設定
 
constexpr void setDeltaTimeRatio (f32 deltaTimeRatio)
 デルタタイム比率設定
 
static void initializeUniqueId (void)
 ヒットIDを初期化
 
static void clearUniqueId (void)
 ヒットID終了用処理
 
static u32 getUniqueId (u32 threadNumber)
 ヒットIDを取得
 
GxCollision::GxObjectaddObject (void) override
 オブジェクトの追加
 
GX_FORCE_INLINE GxPairRecordgetPairRecord (void)
 記録先クラスアドレスの取得
 

Additional Inherited Members

- Public Types inherited from GxCollision
enum class  COLLISION_SHAPE {
  ERROR_ = -1 , SPHERE = 0 , BOX , CYLINDER ,
  MULTISPHERE , TRIMESH , PLANE , RAY ,
  BEAM , CAPSULE , CONVEX , COMPOUND ,
  WHEEL , MAX
}
 コリジョン形状 More...
 
typedef void(GxClassBaseRoot::*) COLLISION_CALLBACK(void)
 コールバック定義
 
- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 
- Protected Member Functions inherited from GxCollision
constexpr void setWorldNull (void)
 登録ワールドの削除
 
GX_FORCE_INLINE void setOffsetAdjustVector (const GxVector3 &offset)
 押返しベクトルのオフセットを設定
 
GX_FORCE_INLINE GxVector3 getOffsetAdjustVector (void)
 押返しベクトルのオフセットを取得
 
- Protected Attributes inherited from GxCollision
GxWorld_pRegisterWorld
 親ワールド
 
COLLISION_CALLBACK _pCallback
 補正用コールバック
 
GxArrayClassBase _listObject
 オブジェクトのリスト
 

Detailed Description

オブジェクトあたりクラス

Member Function Documentation

◆ addObject()

GxCollision::GxObject * GxAttackHit::addObject ( void )
overrideprotectedvirtual

オブジェクトの追加

Returns
確保したオブジェクト

Reimplemented from GxCollision.

Here is the call graph for this function:

◆ allocObject()

GxCollision::GxObject * GxAttackHit::allocObject ( void )
overridevirtual

オブジェクトのメモリ確保

Returns
確保したオブジェクト

Reimplemented from GxCollision.

◆ getObject()

GxAttackHit::GxObject * GxAttackHit::getObject ( u32 index)

指定インデックスのオブジェクトを取得

Parameters
index[in] インデックス

◆ getUniqueId()

u32 GxAttackHit::getUniqueId ( u32 threadNumber)
static

ヒットIDを取得

Parameters
threadNumber[in] 今どのスレッドを使っているか
Returns
ヒットID

◆ isSamePair()

b32 GxAttackHit::isSamePair ( u32 attackId,
u32 damageGroup ) const

ペアが登録済みか判定

Parameters
attackId[in] 攻撃側オブジェクトのID
damageGroup[in] ダメージ側オブジェクトのグループ
Returns
登録済みならtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPairData()

void GxAttackHit::setPairData ( u32 attackId,
u32 damageGroup )

攻撃相手IDの設定

Parameters
attackId[in] 攻撃側オブジェクトのID
damageGroup[in] ダメージ側オブジェクトのグループ
Here is the call graph for this function:

◆ update()

void GxAttackHit::update ( void )
overridevirtual

位置の更新

Reimplemented from GxCollision.


The documentation for this class was generated from the following files: