OROCHI
 
Loading...
Searching...
No Matches
GxAttackHit.h
Go to the documentation of this file.
1//===========================================================================
12//===========================================================================
13#pragma once
14
16//===========================================================================
18//===========================================================================
20{
21 //-------------------------------------------------------------
23 //-------------------------------------------------------------
25public:
26 // RTTI定義
27 GX_RTTI_CLASS( GxAttackHit, GxCollision )
28 // GxClassBase継承クラス用禁止宣言
30
31
32 static const GxColor COLOR_OBJECT_ATTACK;
34 static const GxColor COLOR_OBJECT_DAMAGE;
35
36 class GxWorld;
37 class GxObject;
38
40 struct GxRayCallback;
41 struct GxConvexCallback;
42
43protected:
44 //-----------------------------------------------------------
49 //
52 //-----------------------------------------------------------
54 {
55 //-----------------------------------------------------------
57 //-----------------------------------------------------------
59 public:
60 // RTTI定義
62 // GxClassBase継承クラス用禁止宣言
64
65 protected:
67 static constexpr u32 ID_COUNT = 16;
68
70 //-----------------------------------------------------------
72 //-----------------------------------------------------------
74 public:
76 GxPairRecord(void);
77
79 //-----------------------------------------------------------
81 //-----------------------------------------------------------
83
85 void reset(void);
86
88 b32 check(u32 attackId, u32 damageGroup) const;
89
91 void addData(u32 attackId, u32 damageGroup);
92
94 //-----------------------------------------------------------
96 //-----------------------------------------------------------
98 protected:
100 u32 _attackObjId[ID_COUNT];
101 u32 _damageObjGroup[ID_COUNT];
102
104 };
105
107 //-------------------------------------------------------------
109 //-------------------------------------------------------------
111public:
113 GxAttackHit(void);
115 ~GxAttackHit(void) override;
116
118 //-----------------------------------------------------------
120 //-----------------------------------------------------------
122
124 GxCollision::GxObject* allocObject(void) override;
125
127 GxObject* getObject(u32 index);
128
130 void update(void) override;
131
133 static void initializeUniqueId(void);
134
136 static void clearUniqueId(void);
137
139 static u32 getUniqueId(u32 threadNumber);
140
142 void initializeTargetId(void);
143
145 b32 isSamePair(u32 attackId, u32 damageGroup) const;
146
148 void setPairData(u32 attackId, u32 damageGroup);
149
151 b32 isInvincible(void) const { return _isInvincible; }
152
154 constexpr void setInvincibleTime(f32 time) { _invincibleTime = time; }
155
157 constexpr void setDeltaTimeRatio(f32 deltaTimeRatio) { _deltaTimeRatio = deltaTimeRatio; }
158
159#if GX_DEVELOP
161 void developDrawObjectAttackHit( PRIMITIVE_FILL_MODE fillMode = PRIMITIVE_FILL_MODE::WIRE);
162
164 GX_FORCE_INLINE static void setDevelopDrawAttackHit( b32 display ) { getGxSysMain()->setDevelopFlag(DEVELOP_FLAG_COLLISION_DRAW_ATTACK_HIT, display); }
165
167 GX_FORCE_INLINE static b32 getDevelopDrawAttackHit( void ) { return getGxSysMain()->isOnDevelopFlag(DEVELOP_FLAG_COLLISION_DRAW_ATTACK_HIT); }
168#endif // GX_DEVELOP
169
170protected:
172 GxCollision::GxObject* addObject(void) override;
173
175 GX_FORCE_INLINE GxPairRecord* getPairRecord( void ) { return &_pairRecord; }
176
178 //-----------------------------------------------------------
180 //-----------------------------------------------------------
182private:
183 static u32* _pUniqueIdTable;
184 static u32 _uniqueIdTableCount;
185
186 GxPairRecord _pairRecord;
187 f32 _invincibleTime;
188 b32 _isInvincible;
189 f32 _deltaTimeRatio;
190
192};
193
194//===========================================================================
196//===========================================================================
198{
199 //-------------------------------------------------------------
201 //-------------------------------------------------------------
203public:
204 // RTTI定義
206 // GxClassBase継承クラス用禁止宣言
208
209
210 //-----------------------------------------------------------
212 //-----------------------------------------------------------
214
216 GxWorld(void);
218 ~GxWorld(void) override {}
219
221 //-----------------------------------------------------------
223 //-----------------------------------------------------------
225
226#if GX_DEVELOP
230 void check(void) override;
231#endif // GX_DEVELOP
232
235 // note:旧hit()
236 void postBulletUpdate(void) override;
237
242 GxCollision::GxRayCallback* createRayCallback( const btVector3& rayFrom, const btVector3& rayEnd, GxConditionInformation* pConditionInfo ) override;
243
248 GxCollision::GxConvexCallback* createConvexCallback( const btVector3& checkFrom, const btVector3& checkEnd, GxConditionInformation* pConditionInfo ) override;
249
250protected:
252 void calculateHitObject(btPersistentManifold* pPersistentManifold);
253
255 virtual void calculateAttackDirection( GxVector3& direction, GxObject* pAttack, GxObject* pDamage, const GxVector3& hitPositionOnDamage );
256
258};
259
260//===========================================================================
262//===========================================================================
264{
265 //-------------------------------------------------------------
267 //-------------------------------------------------------------
269public:
270 // RTTI定義
272 // GxClassBase継承クラス用禁止宣言
274
275
277
278protected:
288public:
298
300 enum class ATTACK_DIRECT
301 {
302 MANUAL = 0,
303 OLD_NEW,
305 UNIT_DIFF,
307 MAX,
308 };
309#if GX_DEVELOP
311 GX_ENUM_TABLE_MAX(ATTACK_DIRECT)
312#endif //GX_DEVELOP
313
318 enum class TYPE
319 {
320 ERROR_,
321 ATTACK,
322 DAMAGE,
323 MAX,
324 };
325#if GX_DEVELOP
327 GX_ENUM_TABLE_MAX(TYPE)
328#endif //GX_DEVELOP
329
334 enum GROUP
335 {
336 GROUP_ATTACK = (0x01 << 0),
337 GROUP_DAMAGE = (0x01 << 1),
338 };
339
340 class GxAttackRecord;
341 class GxDamageRecord;
342
344 //-----------------------------------------------------------
346 //-----------------------------------------------------------
348
350 GxObject(void);
351
353 ~GxObject(void) override;
354
356 void initialize(b32 active, u32 id, const GxMatrixAffine* pMatrix0, const GxVector3& offset0, const GxMatrixAffine* pMatrix1, const GxVector3& offset1) override;
357
359 GX_FORCE_INLINE void initializeActiveOff(void) override { initializeUpdate(); }
360
362 void initializeUpdate(void) override;
363
365 //-----------------------------------------------------------
367 //-----------------------------------------------------------
369
371 b32 isNeedCheck(GxCollision::GxObject* pCollisionObject) override;
372
374 void update(void) override;
375
377 void setHitParam(void);
378
381
383 void initializeAttackRecord(void);
384
386 u32 getAttackRecordIndex(u32 idDamage);
387
389 void registerAttackRecord(u32 index, GxAttackHit::GxObject* pTarget, const GxVector3& position, const GxVector3& vector, const GxVector3& normal, u32 idDamage);
390
393
395 void initializeDamageRecord(void);
396
397#if GX_DEVELOP
399 static GxGuiBase* createGui(GxProperty& property, GxTypedObject* pOwner, const GxRtti& rtti, u32 index = 0);
400#endif // GX_DEVELOP
401
403 //-----------------------------------------------------------
405 //-----------------------------------------------------------
407
409 constexpr u32 getAttribute(void) const { return _attribute; }
411 constexpr void setAttribute(u32 attribute) { _attribute = attribute; }
413 constexpr void onAttribute(u32 attribute) { _attribute |= attribute; }
415 constexpr void offAttribute(u32 attribute) { _attribute &= ~attribute; }
416
418 constexpr ATTACK_DIRECT getAttackDirecType( void ) const { return _attackDirectType; }
420 constexpr void setAttackDirecType( ATTACK_DIRECT type ) { _attackDirectType = type; }
421
423 constexpr TYPE getType(void) const { return _type; }
425 void setType(TYPE type);
426
428 constexpr s32 getPriority(void) const { return _priority; }
430 constexpr void setPriority(s32 priority) { _priority = priority; }
431
433 constexpr u32 getDamageGroup(void) const { return _damageGroup; }
435 constexpr void setDamageGroup(u32 damageGroup) { _damageGroup = damageGroup; }
436
438 GX_FORCE_INLINE b32 getResult(void) const { return _result; }
440 GX_FORCE_INLINE void setResult(b32 result) { _result = result; }
441
443 constexpr GxObject* getTarget(void) { return _pTarget; }
445 constexpr void setTarget(GxObject* pTarget) { _pTarget = pTarget; }
446
448 GX_FORCE_INLINE const GxVector3& getOldCenter( void ) const { return _oldCenter; }
449
451 void executeHitCallback( void );
453 constexpr void setHitCallback(HIT_CALLBACK pCallBack) { _pHitCallback = pCallBack; }
454
456 GX_FORCE_INLINE const GxVector3& getHitPosOnDamage(void) { return _hitPositionOnDamage; }
458 GX_FORCE_INLINE void setHitPosOnDamage(const GxVector3& position) { _hitPositionOnDamage = position; }
459
461 GX_FORCE_INLINE const GxVector3& getHitDirection(void) const { return _hitDirection; }
463 GX_FORCE_INLINE void setHitDirection(const GxVector3& vector) { _hitDirection = vector; }
464
466 GX_FORCE_INLINE const GxVector3& getHitNormal(void) const { return _hitNormal; }
468 GX_FORCE_INLINE void setHitNormal(const GxVector3& normal) { _hitNormal = normal; }
469
471 constexpr GxAttackRecord* getAttackRecord(void) const { return _pAttackRecord; }
472
474 constexpr GxDamageRecord* getDamageRecord(void) const { return _pDamageRecord; }
475
477 constexpr f32 getPower(void) const { return _power; }
479 constexpr void setPower(f32 power) { _power = power; }
480
482 //-----------------------------------------------------------
484 //-----------------------------------------------------------
486private:
487 HIT_CALLBACK _pHitCallback;
488 ATTACK_DIRECT _attackDirectType;
489 TYPE _type;
490 u32 _attribute;
491 s32 _priority;
492 u32 _damageGroup;
493 b32 _result;
494 GxObject* _pTarget;
495 GxVector3 _oldCenter;
496
497 GxVector3 _hitPositionOnDamage;
498 GxVector3 _hitDirection;
499 GxVector3 _hitNormal;
500 f32 _power;
501
502 GxAttackRecord* _pAttackRecord;
503 GxDamageRecord* _pDamageRecord;
504
506};
507
508//===========================================================================
511//===========================================================================
513{
514 //-----------------------------------------------------------
516 //-----------------------------------------------------------
518public:
519 // RTTI定義
521 // new, delete定義
522 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::PHYSICS)
523 // GxClassBase継承クラス用禁止宣言
525
526
527 static constexpr u32 DETAIL_NUM = 16;
528
540
542 //-----------------------------------------------------------
544 //-----------------------------------------------------------
546
548 GxAttackRecord(void);
549
551 ~GxAttackRecord(void) override {}
552
554 //-----------------------------------------------------------
556 //-----------------------------------------------------------
558
560 void initialize(void);
561
563 u32 getIndex(u32 idDamage);
564
566 void registerInfo(u32 index, GxAttackHit::GxObject* pTarget, const GxVector3& position, const GxVector3& vector, const GxVector3& normal, f32 distance, u32 damageID);
567
569 GX_FORCE_INLINE GxDetail& getDetail(u32 index) { return _infoSub[index]; }
570
572 void sortDetail(void);
573
575 constexpr u32 getRegisterCount(void) { return _index; }
576
578 //-----------------------------------------------------------
580 //-----------------------------------------------------------
582private:
583 u32 _index;
584 GxDetail _infoSub[DETAIL_NUM];
585
587};
588
589//===========================================================================
592//===========================================================================
594{
595 //-----------------------------------------------------------
597 //-----------------------------------------------------------
599public:
600 // RTTI定義
602 // new, delete定義
603 GX_OPERATOR_NEW_DELETE( GxAllocatorList::ALLOCATOR_TYPE::PHYSICS )
604 // GxClassBase継承クラス用禁止宣言
606
607
608 //-----------------------------------------------------------
610 //-----------------------------------------------------------
612
614 GxDamageRecord(void);
615
617 ~GxDamageRecord(void) override {}
618
620 void initialize(void);
621
623 //-----------------------------------------------------------
625 //-----------------------------------------------------------
627
629 constexpr void addDamageSum(f32 power) { _damageSum += power; }
631 constexpr f32 getDamageSum(void) const { return _damageSum; }
632
634 constexpr f32 getDamageMax(void) const { return _damageMax; }
636 constexpr void setDamageMax(f32 power) { _damageMax = power; }
637
639 //-----------------------------------------------------------
641 //-----------------------------------------------------------
643private:
644 f32 _damageSum;
645 f32 _damageMax;
646
648};
649
650//===========================================================================
652//===========================================================================
654{
655 //-----------------------------------------------------------
657 //-----------------------------------------------------------
659public:
660 // RTTI定義
662
663
664 //-----------------------------------------------------------
666 //-----------------------------------------------------------
668
671
673 //-----------------------------------------------------------
675 //-----------------------------------------------------------
677
679
681};
682
683//===========================================================================
688//===========================================================================
690{
691 //-----------------------------------------------------------
693 //-----------------------------------------------------------
695public:
697 GxRayCallback( const btVector3& rayFromWorld, const btVector3& rayToWorld, GxConditionInformation* pConditionInfo )
698 : GxCollision::GxRayCallback( rayFromWorld, rayToWorld, pConditionInfo )
699 {}
700
702 //-----------------------------------------------------------
704 //-----------------------------------------------------------
706
712 bool needsCollision(btBroadphaseProxy* pProxy) const override;
713
715};
716
717//===========================================================================
722//===========================================================================
724{
725 //-----------------------------------------------------------
727 //-----------------------------------------------------------
729public:
731 GxConvexCallback( const btVector3& rayFromWorld, const btVector3& rayToWorld, GxConditionInformation* pConditionInfo )
732 : GxCollision::GxConvexCallback( rayFromWorld, rayToWorld, pConditionInfo )
733 {}
734
736 //-----------------------------------------------------------
738 //-----------------------------------------------------------
740
746 bool needsCollision(btBroadphaseProxy* pProxy) const override;
747
749};
750
751GX_PHYSICS_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
void GxTypedObject
その他
Definition GxDefine.h:213
#define GX_PHYSICS_NAMESPACE_BEGIN()
ネームスペースマクロ
Definition GxPhysics.h:28
PRIMITIVE_FILL_MODE
塗りつぶしモード
Definition GxPrimitive.h:31
@ WIRE
ワイヤーフレーム
@ PHYSICS
物理エンジン
判定条件
Definition GxAttackHit.h:654
GxObject::TYPE _type
オブジェクトのタイプ(同じタイプのものが当たる)
Definition GxAttackHit.h:678
Definition GxAttackHit.h:513
void registerInfo(u32 index, GxAttackHit::GxObject *pTarget, const GxVector3 &position, const GxVector3 &vector, const GxVector3 &normal, f32 distance, u32 damageID)
情報の登録
Definition GxAttackHit.cpp:1180
static constexpr u32 DETAIL_NUM
攻撃詳細情報個数
Definition GxAttackHit.h:527
GX_FORCE_INLINE GxDetail & getDetail(u32 index)
情報の取得
Definition GxAttackHit.h:569
void initialize(void)
初期化
Definition GxAttackHit.cpp:1118
void sortDetail(void)
情報を優先順位→距離でソートする
Definition GxAttackHit.cpp:1213
constexpr u32 getRegisterCount(void)
登録個数の取得
Definition GxAttackHit.h:575
~GxAttackRecord(void) override
デストラクタ
Definition GxAttackHit.h:551
GxAttackRecord(void)
デフォルトコンストラクタ
Definition GxAttackHit.cpp:1110
u32 getIndex(u32 idDamage)
インデックスの取得
Definition GxAttackHit.cpp:1138
Definition GxAttackHit.h:594
constexpr f32 getDamageMax(void) const
最大ダメージ値取得
Definition GxAttackHit.h:634
constexpr f32 getDamageSum(void) const
ダメージ和取得
Definition GxAttackHit.h:631
GxDamageRecord(void)
デフォルトコンストラクタ
Definition GxAttackHit.cpp:1274
~GxDamageRecord(void) override
デストラクタ
Definition GxAttackHit.h:617
void initialize(void)
初期化
Definition GxAttackHit.cpp:1282
constexpr void addDamageSum(f32 power)
ダメージ和加算
Definition GxAttackHit.h:629
constexpr void setDamageMax(f32 power)
最大ダメージ値設定
Definition GxAttackHit.h:636
イベントあたりオブジェクトクラス
Definition GxAttackHit.h:264
b32 isNeedCheck(GxCollision::GxObject *pCollisionObject) override
お互いの当たり判定が必要かどうか
Definition GxAttackHit.cpp:728
void setHitParam(void)
ヒットパラメータをセットする
Definition GxAttackHit.cpp:831
GX_FORCE_INLINE void setHitPosOnDamage(const GxVector3 &position)
ヒット点の設定
Definition GxAttackHit.h:458
GX_FORCE_INLINE const GxVector3 & getHitDirection(void) const
攻撃方向の取得
Definition GxAttackHit.h:461
void update(void) override
オブジェクト位置の更新
Definition GxAttackHit.cpp:786
GX_FORCE_INLINE void setHitNormal(const GxVector3 &normal)
ダメージ法線方向の設定
Definition GxAttackHit.h:468
SHIFT
属性定義用シフト量定義
Definition GxAttackHit.h:281
@ ATTACK_HIT_CAPSULE_OLD_NEW
カプセル(衝突前後)
@ ATTACK_HIT_ONE_HIT
初回ヒット時のみ
GX_FORCE_INLINE b32 getResult(void) const
当たったかどうかの取得
Definition GxAttackHit.h:438
~GxObject(void) override
デストラクタ
Definition GxAttackHit.cpp:671
GxObject(void)
デフォルトコンストラクタ
Definition GxAttackHit.cpp:651
constexpr GxAttackRecord * getAttackRecord(void) const
攻撃記録クラス取得
Definition GxAttackHit.h:471
constexpr TYPE getType(void) const
タイプの取得
Definition GxAttackHit.h:423
constexpr void setAttackDirecType(ATTACK_DIRECT type)
攻撃ベクトル方向のタイプを設定
Definition GxAttackHit.h:420
constexpr void setDamageGroup(u32 damageGroup)
ダメージグループの設定
Definition GxAttackHit.h:435
constexpr void setPriority(s32 priority)
優先順位の設定
Definition GxAttackHit.h:430
b32 allocDamageRecord(void)
ダメージ記録クラスの確保
Definition GxAttackHit.cpp:1075
GX_FORCE_INLINE const GxVector3 & getHitPosOnDamage(void)
ヒット点の取得
Definition GxAttackHit.h:456
constexpr void setTarget(GxObject *pTarget)
攻撃相手のセット
Definition GxAttackHit.h:445
constexpr GxObject * getTarget(void)
攻撃相手の取得
Definition GxAttackHit.h:443
constexpr ATTACK_DIRECT getAttackDirecType(void) const
攻撃ベクトル方向のタイプを取得
Definition GxAttackHit.h:418
GX_FORCE_INLINE const GxVector3 & getHitNormal(void) const
ダメージ法線方向の取得
Definition GxAttackHit.h:466
void registerAttackRecord(u32 index, GxAttackHit::GxObject *pTarget, const GxVector3 &position, const GxVector3 &vector, const GxVector3 &normal, u32 idDamage)
攻撃記録情報への登録
Definition GxAttackHit.cpp:1058
constexpr f32 getPower(void) const
攻撃力を取得
Definition GxAttackHit.h:477
b32 allocAttackRecord(void)
攻撃記録情報の確保
Definition GxAttackHit.cpp:1008
void(GxClassBaseRoot::*) HIT_CALLBACK(GxAttackHit::GxObject *pHit)
コールバック定義
Definition GxAttackHit.h:276
void executeHitCallback(void)
コールバック関数の実行
Definition GxAttackHit.cpp:996
constexpr void setAttribute(u32 attribute)
属性を設定
Definition GxAttackHit.h:411
constexpr u32 getAttribute(void) const
属性を取得
Definition GxAttackHit.h:409
void setType(TYPE type)
タイプの設定
Definition GxAttackHit.cpp:956
constexpr s32 getPriority(void) const
優先順位の取得
Definition GxAttackHit.h:428
GX_FORCE_INLINE void initializeActiveOff(void) override
アクティブOFF時のパラメータ初期化
Definition GxAttackHit.h:359
void initializeAttackRecord(void)
攻撃記録情報の初期化
Definition GxAttackHit.cpp:1021
GX_FORCE_INLINE void setHitDirection(const GxVector3 &vector)
攻撃方向の設定
Definition GxAttackHit.h:463
constexpr void setHitCallback(HIT_CALLBACK pCallBack)
コールバック関数の設定
Definition GxAttackHit.h:453
ATTACK_DIRECT
攻撃ベクトルの方向
Definition GxAttackHit.h:301
@ UNIT_AXIS_Z
攻撃側ユニットのZ軸方向
@ MANUAL
手動指定(ワールド座標)
@ OLD_NEW
攻撃側オブジェクトの前フレーム中心位置から現フレーム中心位置方向
@ CENTER_HIT_POSITION
攻撃側オブジェクトの中心からヒット位置方向
@ UNIT_DIFF
攻撃側ユニット位置からダメージ側ユニット位置方向
constexpr GxDamageRecord * getDamageRecord(void) const
ダメージ記録クラス取得
Definition GxAttackHit.h:474
constexpr void setPower(f32 power)
攻撃力を設定
Definition GxAttackHit.h:479
constexpr void onAttribute(u32 attribute)
属性を有効化
Definition GxAttackHit.h:413
GX_FORCE_INLINE void setResult(b32 result)
当たったかどうかの設定
Definition GxAttackHit.h:440
constexpr void offAttribute(u32 attribute)
属性を無効化
Definition GxAttackHit.h:415
GX_FORCE_INLINE const GxVector3 & getOldCenter(void) const
前フレーム中心位置を取得
Definition GxAttackHit.h:448
GROUP
Definition GxAttackHit.h:335
@ GROUP_DAMAGE
ダメージ側のあたり
Definition GxAttackHit.h:337
@ GROUP_ATTACK
攻撃側のあたり
Definition GxAttackHit.h:336
void initializeUpdate(void) override
更新前のパラメータ初期化
Definition GxAttackHit.cpp:918
void initialize(b32 active, u32 id, const GxMatrixAffine *pMatrix0, const GxVector3 &offset0, const GxMatrixAffine *pMatrix1, const GxVector3 &offset1) override
オブジェクトの初期化
Definition GxAttackHit.cpp:718
u32 getAttackRecordIndex(u32 idDamage)
空いている攻撃記録情報のインデックスを取得する
Definition GxAttackHit.cpp:1034
ATTRIBUTE
属性定義
Definition GxAttackHit.h:291
@ ATTRIBUTE_MULTISPHERE_OLD_NEW
Definition GxAttackHit.h:296
@ ATTRIBUTE_ONE_HIT
Definition GxAttackHit.h:292
void initializeDamageRecord(void)
ダメージ記録の初期化
Definition GxAttackHit.cpp:1089
TYPE
Definition GxAttackHit.h:319
constexpr u32 getDamageGroup(void) const
ダメージグループの取得
Definition GxAttackHit.h:433
Definition GxAttackHit.h:54
u32 _idIndex
次の書き込み先
Definition GxAttackHit.h:99
オブジェクトあたりワールドクラス
Definition GxAttackHit.h:198
void calculateHitObject(btPersistentManifold *pPersistentManifold)
ヒットしたオブジェクトの処理
Definition GxAttackHit.cpp:450
~GxWorld(void) override
デストラクタ
Definition GxAttackHit.h:218
GxCollision::GxConvexCallback * createConvexCallback(const btVector3 &checkFrom, const btVector3 &checkEnd, GxConditionInformation *pConditionInfo) override
Definition GxAttackHit.cpp:441
virtual void calculateAttackDirection(GxVector3 &direction, GxObject *pAttack, GxObject *pDamage, const GxVector3 &hitPositionOnDamage)
攻撃方向ベクトルを計算
Definition GxAttackHit.cpp:544
GxWorld(void)
デフォルトコンストラクタ
Definition GxAttackHit.cpp:351
void postBulletUpdate(void) override
Definition GxAttackHit.cpp:376
GxCollision::GxRayCallback * createRayCallback(const btVector3 &rayFrom, const btVector3 &rayEnd, GxConditionInformation *pConditionInfo) override
Definition GxAttackHit.cpp:426
オブジェクトあたりクラス
Definition GxAttackHit.h:20
b32 isInvincible(void) const
無敵時間判定
Definition GxAttackHit.h:151
GX_FORCE_INLINE GxPairRecord * getPairRecord(void)
記録先クラスアドレスの取得
Definition GxAttackHit.h:175
constexpr void setDeltaTimeRatio(f32 deltaTimeRatio)
デルタタイム比率設定
Definition GxAttackHit.h:157
constexpr void setInvincibleTime(f32 time)
無敵時間設定
Definition GxAttackHit.h:154
オブジェクト基底クラス
Definition GxBase.h:88
基底クラス
Definition GxBase.h:51
Definition GxCollision.h:806
Collision基本オブジェクトクラス
Definition GxCollision.h:489
Collision基本ワールドクラス
Definition GxCollision.h:236
virtual void check(void)
Definition GxCollision.cpp:664
コリジョン基本クラス
Definition GxCollision.h:20
プロパティクラス
Definition GxProperty.h:48
実行時型情報クラス
Definition GxRtti.h:154
Definition GxAttackHit.h:724
GxConvexCallback(const btVector3 &rayFromWorld, const btVector3 &rayToWorld, GxConditionInformation *pConditionInfo)
コンストラクタ
Definition GxAttackHit.h:731
bool needsCollision(btBroadphaseProxy *pProxy) const override
Definition GxAttackHit.cpp:1341
攻撃詳細情報構造体
Definition GxAttackHit.h:531
GxVector3 _direction
攻撃ベクトル
Definition GxAttackHit.h:533
GxVector3 _positionOnDamage
ヒットした点
Definition GxAttackHit.h:532
u32 _id
ヒットID
Definition GxAttackHit.h:538
GxVector3 _normal
攻撃した点の法線
Definition GxAttackHit.h:534
f32 _distanceSquare
攻撃側オブジェクト中心からの距離の二乗
Definition GxAttackHit.h:535
b32 _isActive
情報が入っているかどうか
Definition GxAttackHit.h:536
GxAttackHit::GxObject * _pTarget
ヒット相手
Definition GxAttackHit.h:537
Definition GxAttackHit.h:690
GxRayCallback(const btVector3 &rayFromWorld, const btVector3 &rayToWorld, GxConditionInformation *pConditionInfo)
コンストラクタ
Definition GxAttackHit.h:697
bool needsCollision(btBroadphaseProxy *pProxy) const override
Definition GxAttackHit.cpp:1305
Definition GxCollision.h:898
Definition GxCollision.h:848
Definition GxColor.h:21
アフィン変換行列(行優先)
Definition GxMatrix.h:330
3次元ベクトル
Definition GxVector.h:245
32bitブーリアン
Definition GxDefine.h:173