12GX_CHARACTER_NAMESPACE_BEGIN()
32 static constexpr u32 DERIVED_CLASS_MAX =
GxMath::VALUE_256;
34 static constexpr u32 ACTION_STATUS_ALL = 0xFFFFF000;
36 static constexpr u32 ACTION_STATUS_SHIFT = 0x1000;
38 static constexpr u32 ACTION_NUMBER_MAX =
GxMath::VALUE_4;
51 static const f32 INVALID_TIME;
63 GxAction(u32 number0, u32 number1 = 0, u32 number2 = 0, u32 number3 = 0);
78#if GX_BITFIELD_LITTLEENDIAN
98 static constexpr s32 INVALID_PLAYER_NUMBER = -1;
100 static constexpr u32 INVALID_SOUND_CHAR_ID = 0xFFFFFFFF;
111 void cleanup(
void)
override;
120 b32 setup(
void)
override;
122 void preAsyncUpdate(
void)
override;
126 void kill(
void)
override;
142 void setPad(
b32 flag);
148 virtual void updateInitialize(
void);
152 virtual void updateThink(
void);
154 virtual void updateThinkControl(
void);
162 void developRender(
void)
override;
166 void iconRender(
void)
override;
173 void updatePadValue(
void);
175 GxVector3 getAnalogStickWorldVector(f32 rateX, f32 rateY)
const;
186 void setAction(u32 action0, u32 action1 = 0, u32 action2 = 0, u32 action3 = 0);
194 GX_FORCE_INLINE
b32 isActionStatus(u32 actionStatus)
const {
return _actionStatus == actionStatus; }
196 GX_FORCE_INLINE
b32 isActionStatusBit(u32 actionStatus)
const {
return (_actionStatus & actionStatus) ? true :
false; }
205 b32 isPad(
void)
const {
return _pPad ? true :
false; }
232 GX_FORCE_INLINE f32
getMoveTargetDistance(
void)
const {
return (_pMoveTarget->getLocalPosition() - getLocalPosition()).getLength(); }
238 void setLeader(
void);
243 const GxVector3 getDirectVectorX(
void)
const;
245 const GxVector3 getDirectVectorZ(
void)
const;
260 constexpr void setLifeMax(f32 lifeMax){ _lifeMax = lifeMax; }
264 constexpr f32
getLife(
void)
const {
return _life; }
270 constexpr f32
getLifeRate(
void)
const {
return (_lifeMax == 0.0f) ? 0.0f : (_life / _lifeMax); }
309GX_CHARACTER_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
GX_FORCE_INLINE b32 operator==(const GxColor color0, const GxColor color1)
Definition GxColor.inl:274
void GxTypedObject
その他
Definition GxDefine.h:213
イベントあたりオブジェクトクラス
Definition GxAttackHit.h:264
オブジェクト基底クラス
Definition GxBase.h:88
イベントあたりオブジェクトクラス
Definition GxEventHit.h:155
群集
Definition GxFlock.h:18
算術演算クラス
Definition GxMath.h:84
static GX_FORCE_INLINE T getAbs(const T value)
絶対値
Definition GxMath.h:168
static GX_FORCE_INLINE T getMin(const T value0, const T value1)
小さいほうを取得
Definition GxMath.h:172
パッドクラス
Definition GxInputPad.h:25
プロパティクラス
Definition GxProperty.h:48
プロパティテーブルクラス
Definition GxProperty.h:1641
実行時型情報クラス
Definition GxRtti.h:154
カメラ基礎クラス
Definition GxUnitCameraBase.h:20
アクション構造体
Definition GxUnitCharacterBase.h:42
u32 _number3
アクション番号3
Definition GxUnitCharacterBase.h:84
u32 _number2
アクション番号2
Definition GxUnitCharacterBase.h:85
u32 _number
アクション番号
Definition GxUnitCharacterBase.h:75
f32 _time
アクションの制限時間
Definition GxUnitCharacterBase.h:91
u32 _number1
アクション番号1
Definition GxUnitCharacterBase.h:86
b32 _initializeFlag
初期化フラグ
Definition GxUnitCharacterBase.h:92
u32 _number0
アクション番号0
Definition GxUnitCharacterBase.h:87
キャラクター基礎ユニット
Definition GxUnitCharacterBase.h:20
virtual GX_FORCE_INLINE void attackHitCallbackAttack(GxAttackHit::GxObject *)
攻撃当たり攻撃側コールバック
Definition GxUnitCharacterBase.h:135
virtual GX_FORCE_INLINE void updateThinkAI(void)
AI思考処理
Definition GxUnitCharacterBase.h:156
GX_FORCE_INLINE f32 getDistanceH(GxUnitCharacterBase *pUnit) const
指定ユニットまでの水平距離を取得
Definition GxUnitCharacterBase.h:251
constexpr void addLifeMax(f32 add)
最大体力の増加
Definition GxUnitCharacterBase.h:262
f32 _padMarginRatio
パッド入力のマージン比率
Definition GxUnitCharacterBase.h:284
GX_FORCE_INLINE b32 isActionStatusBit(u32 actionStatus) const
アクション状態ビット判定
Definition GxUnitCharacterBase.h:196
u32 _actionStatus
アクション状態
Definition GxUnitCharacterBase.h:279
virtual GX_FORCE_INLINE void updateAction(void)
行動決定処理
Definition GxUnitCharacterBase.h:158
GX_FORCE_INLINE f32 getDistance(GxUnitCharacterBase *pUnit) const
指定ユニットまでの距離を取得
Definition GxUnitCharacterBase.h:247
b32 isPad(void) const
パッド処理かどうか
Definition GxUnitCharacterBase.h:205
constexpr GxUnitCameraBase * getCamera(void) const
カメラを取得
Definition GxUnitCharacterBase.h:207
GX_FORCE_INLINE GxVector3 getPadWorldVectorRight(void) const
ワールド座標上でのアナログ入力値(右)を取得
Definition GxUnitCharacterBase.h:213
GX_FORCE_INLINE GxVector3 getPadWorldVectorLeft(void) const
ワールド座標上でのアナログ入力値(左)を取得
Definition GxUnitCharacterBase.h:211
constexpr void setMoveTarget(GxUnitCharacterBase *pUnit)
移動ターゲットを設定
Definition GxUnitCharacterBase.h:230
constexpr GxUnitCharacterBase * getMoveTarget(void) const
移動ターゲットを取得
Definition GxUnitCharacterBase.h:228
constexpr GxPad * getPad(void) const
パッド取得
Definition GxUnitCharacterBase.h:203
GX_FORCE_INLINE void setAction(const GxAction &action)
アクション設定
Definition GxUnitCharacterBase.h:188
GxAction _action
アクション
Definition GxUnitCharacterBase.h:278
constexpr void setPlayerNumber(s32 number)
プレイヤー番号を設定
Definition GxUnitCharacterBase.h:201
GX_FORCE_INLINE f32 getAngleV(GxUnitCharacterBase *pUnit) const
指定ユニットとの垂直角度を取得
Definition GxUnitCharacterBase.h:253
constexpr GxFlock * getFlock(void) const
群集を取得
Definition GxUnitCharacterBase.h:234
constexpr void setFlock(GxFlock *pFlock)
群集を設定
Definition GxUnitCharacterBase.h:236
GX_FORCE_INLINE void addLife(f32 add)
体力の増加
Definition GxUnitCharacterBase.h:268
virtual GX_FORCE_INLINE void objectHitCallback(void)
オブジェクト当たりコールバック
Definition GxUnitCharacterBase.h:131
constexpr f32 getMoveSpeed(void) const
移動速度を取得
Definition GxUnitCharacterBase.h:220
constexpr f32 getLifeMax(void) const
最大体力取得
Definition GxUnitCharacterBase.h:258
GX_FORCE_INLINE f32 getAngleH(GxUnitCharacterBase *pUnit) const
指定ユニットとの水平角度を取得
Definition GxUnitCharacterBase.h:255
GxVector3 _padWorldVectorRight
ワールド座標上でのアナログ入力値(右)
Definition GxUnitCharacterBase.h:283
GX_FORCE_INLINE const GxAction & getAction(void) const
アクション設定
Definition GxUnitCharacterBase.h:184
constexpr void setCamera(GxUnitCameraBase *pCamera)
カメラを設定
Definition GxUnitCharacterBase.h:209
constexpr u32 getActionStatus(void) const
アクション状態取得
Definition GxUnitCharacterBase.h:190
GxSysSoundBase::GxObjMotionData _objMotionSound
モーション連動用
Definition GxUnitCharacterBase.h:302
virtual GX_FORCE_INLINE void updateInitializeActionChange(void)
アクション切り替わり時の初期化
Definition GxUnitCharacterBase.h:150
GX_FORCE_INLINE void setLife(f32 life)
体力の設定
Definition GxUnitCharacterBase.h:266
virtual GX_FORCE_INLINE void attackHitCallbackDamage(GxAttackHit::GxObject *)
攻撃当たりダメージ側コールバック
Definition GxUnitCharacterBase.h:137
GX_FORCE_INLINE const GxVector3 & getMoveDirect(void) const
移動方向を取得
Definition GxUnitCharacterBase.h:216
GxVector3 _padWorldVectorLeft
ワールド座標上でのアナログ入力値(左)
Definition GxUnitCharacterBase.h:282
constexpr void setRotateSpeed(f32 speed)
回転速度を設定
Definition GxUnitCharacterBase.h:226
GX_FORCE_INLINE b32 isActionStatus(u32 actionStatus) const
アクション状態判定
Definition GxUnitCharacterBase.h:194
virtual GX_FORCE_INLINE void eventHitCallback(GxEventHit::GxObject *)
イベント当たりコールバック
Definition GxUnitCharacterBase.h:139
GX_FORCE_INLINE GxVector3 getOldPosition(void) const
前フレームの位置を取得
Definition GxUnitCharacterBase.h:240
constexpr void setLifeMax(f32 lifeMax)
最大体力の設定
Definition GxUnitCharacterBase.h:260
constexpr void setActionStatus(u32 actionStatus)
アクション状態設定
Definition GxUnitCharacterBase.h:192
GX_FORCE_INLINE void setMoveDirect(const GxVector3 &direct)
移動方向を設定
Definition GxUnitCharacterBase.h:218
GX_FORCE_INLINE f32 getDistanceV(GxUnitCharacterBase *pUnit) const
指定ユニットまでの垂直距離を取得
Definition GxUnitCharacterBase.h:249
constexpr f32 getLife(void) const
体力取得
Definition GxUnitCharacterBase.h:264
constexpr s32 getPlayerNumber(void) const
プレイヤー番号を取得
Definition GxUnitCharacterBase.h:199
virtual GX_FORCE_INLINE void backgroundHitCallback(void)
背景当たりコールバック
Definition GxUnitCharacterBase.h:129
constexpr f32 getLifeRate(void) const
残り体力比率取得
Definition GxUnitCharacterBase.h:270
GX_FORCE_INLINE f32 getMoveTargetDistance(void) const
移動ターゲットへの距離を取得
Definition GxUnitCharacterBase.h:232
constexpr f32 getRotateSpeed(void) const
回転速度を取得
Definition GxUnitCharacterBase.h:224
constexpr void setMoveSpeed(f32 speed)
移動速度を設定
Definition GxUnitCharacterBase.h:222
GX_FORCE_INLINE const GxVector3 & getLocalPosition(void) const
ローカル位置の取得
Definition GxUnitLocate.h:179
モーションユニット
Definition GxUnitMotion.h:20
モーションデータ定義
Definition GxSysSoundBase.h:109
2次元ベクトル
Definition GxVector.h:34
3次元ベクトル
Definition GxVector.h:245
f32 _z
Z値
Definition GxVector.h:572
static GX_FORCE_INLINE f32 getAngle(const GxVector3 &vector0, const GxVector3 &vector1)
角度差を取得(符号なし radian)
Definition GxVector.inl:2190
f32 _y
Y値
Definition GxVector.h:571
f32 _x
X値
Definition GxVector.h:570
32bitブーリアン
Definition GxDefine.h:173