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

パッドクラス More...

#include <GxInputPad.h>

Inheritance diagram for GxPad:
Collaboration diagram for GxPad:

Classes

struct  GxInputData
 入力情報 More...
 
struct  GxMarginData
 マージン関連 More...
 
class  GxMotion
 モーションセンサークラス More...
 
struct  GxSaveData
 保存情報 More...
 
class  GxTouch
 タッチセンサークラス More...
 
class  GxVibration
 パッド振動クラス More...
 

Public Member Functions

初期化
 GxPad (void)
 コンストラクタ
 
 ~GxPad (void) override
 デストラクタ
 
b32 initialize (void) override
 初期化
 
void clear (void) override
 クリア
 
- Public Member Functions inherited from GxInputDevice
 GxInputDevice (void)
 コンストラクタ
 
 ~GxInputDevice (void) override
 デストラクタ
 
constexpr s32 getRepeatStart (void) const
 リピート開始時間を取得
 
constexpr void setRepeatStart (s32 time)
 リピート開始時間を設定
 
constexpr s32 getRepeatInterval (void) const
 リピート間隔を取得
 
constexpr void setRepeatInterval (s32 intervalTime)
 リピート間隔を設定
 
constexpr u32 getNumber (void) const
 番号を取得
 
constexpr void setNumber (u32 number)
 番号を設定
 
constexpr void setKind (KIND kind)
 種類を設定
 
constexpr KIND getKind (void) const
 種類を設定
 
virtual b32 isEnable (void) const =0
 有効判定
 
virtual GX_FORCE_INLINE s32 getUserId (void) const
 ユーザーIDを取得
 
virtual void setUserId (s32)
 ユーザーIDを設定
 
- 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)
 デフォルトオブジェクト判定
 

定義

enum class  TOUCH_PANEL { FRONT = 0 , MAX }
 タッチパネル定義 More...
 
enum class  PAD_RECORDER { STOP = 0 , RECORD , PLAY }
 パッドレコーダーの状態 More...
 
static constexpr u32 BUTTON_NULL = 0
 常に false | 常に false
 
static constexpr u32 SELECT = (1 << 0)
 select | back
 
static constexpr u32 START = (1 << 1)
 start | start
 
static constexpr u32 LEFT_UP = (1 << 2)
 十字上 | 十字上
 
static constexpr u32 LEFT_RIGHT = (1 << 3)
 十字右 | 十字右
 
static constexpr u32 LEFT_DOWN = (1 << 4)
 十字下 | 十字下
 
static constexpr u32 LEFT_LEFT = (1 << 5)
 十字左 | 十字左
 
static constexpr u32 RIGHT_UP = (1 << 6)
 △ | Y
 
static constexpr u32 RIGHT_RIGHT = (1 << 7)
 ○ | B
 
static constexpr u32 RIGHT_DOWN = (1 << 8)
 × | A
 
static constexpr u32 RIGHT_LEFT = (1 << 9)
 □ | X
 
static constexpr u32 LEFT_1 = (1 << 10)
 L1 | LB.
 
static constexpr u32 RIGHT_1 = (1 << 11)
 R1 | RB.
 
static constexpr u32 LEFT_2 = (1 << 12)
 L2(PS4のみ)| LT.
 
static constexpr u32 RIGHT_2 = (1 << 13)
 R2(PS4のみ)| RT.
 
static constexpr u32 LEFT_3 = (1 << 14)
 L3(PS4のみ)| LSスティック押込
 
static constexpr u32 RIGHT_3 = (1 << 15)
 R3(PS4のみ)| RSスティック押込
 
static constexpr u32 STICK_LEFT_UP = (1 << 16)
 左スティック上
 
static constexpr u32 STICK_LEFT_RIGHT = (1 << 17)
 左スティック右
 
static constexpr u32 STICK_LEFT_DOWN = (1 << 18)
 左スティック下
 
static constexpr u32 STICK_LEFT_LEFT = (1 << 19)
 左スティック左
 
static constexpr u32 STICK_RIGHT_UP = (1 << 20)
 右スティック上
 
static constexpr u32 STICK_RIGHT_RIGHT = (1 << 21)
 右スティック右
 
static constexpr u32 STICK_RIGHT_DOWN = (1 << 22)
 右スティック下
 
static constexpr u32 STICK_RIGHT_LEFT = (1 << 23)
 右スティック左
 
static constexpr u32 OK = (1 << 24)
 決定ボタン
 
static constexpr u32 CANCEL = (1 << 25)
 キャンセルボタン
 
static constexpr u32 MINUS_NX = (1 << 0)
 SELECT 別名
 
static constexpr u32 PLUS_NX = (1 << 1)
 START 別名
 
static constexpr u32 LEFT_SL_NX = (1 << 26)
 JoyCon左 SL.
 
static constexpr u32 LEFT_SR_NX = (1 << 27)
 JoyCon左 SR.
 
static constexpr u32 RIGHT_SL_NX = (1 << 28)
 JoyCon右 SL.
 
static constexpr u32 RIGHT_SR_NX = (1 << 29)
 JoyCon右 SR.
 
static constexpr u32 STICK_LEFT_AXIS_X = 0
 左スティック X 軸
 
static constexpr u32 STICK_LEFT_AXIS_Y = 1
 左スティック Y 軸
 
static constexpr u32 STICK_RIGHT_AXIS_X = 2
 右スティック X 軸
 
static constexpr u32 STICK_RIGHT_AXIS_Y = 3
 右スティック Y 軸
 
static constexpr u32 BUTTON_ALL = 0xFFFFFFFF
 
static constexpr u32 PHISICAL_BUTTON_MAX = 24
 
static constexpr u32 BUTTON_MAX = 26
 
static constexpr s32 STICK_VALUE_MAX = 32767
 
static constexpr s32 STICK_VALUE_MIN = -32768
 
static constexpr u32 TRIGGER_VALUE_MAX = 255
 
static GX_FORCE_INLINE s32 RatioToStick (f32 ratio)
 Ratio からスティック値へ変換する
 
static GX_FORCE_INLINE s32 RatioToTrigger (f32 ratio)
 Ratio からトリガー値へ変換する
 

メンバ変数

GxInputData _inputData
 入力データ
 
u32 _old
 前フレームの押し状態
 
u32 _oldTemporary
 前フレーム用に保存しておく情報
 
GxVibration_pVibration
 振動情報
 
GxTouch_pTouch [static_cast< s32 >(TOUCH_PANEL::MAX)]
 タッチセンサー情報
 
GxMotion_pMotion
 モーションセンサー情報
 

操作

void getInputDataDevice (void) override
 デバイスから入力を取得
 
void update (void) override
 更新
 
void startPlay (void)
 パッドの再生開始
 
void stopPadRecorder (void)
 パッドの記録・再生を停止
 
void saveInput (void) override
 入力状態を保存
 
void loadInput (void) override
 入力状態を復元
 
virtual void updateTouch (void)
 タッチセンサーの更新
 
virtual void updateMotion (void)
 モーションセンサーの更新
 
virtual void updateVibration (void)
 振動の更新
 

アクセサ

GX_FORCE_INLINE const GxInputDatagetInputData (void) const
 入力データの取得
 
GX_FORCE_INLINE void setInputData (const GxInputData &inputData)
 入力データの設定
 
GX_FORCE_INLINE s32 getStickLeftX (void) const
 左スティック横の値取得 (マージンを適用しない値 STICK_VALUE_MIN~STICK_VALUE_MAX)
 
GX_FORCE_INLINE s32 getStickLeftY (void) const
 左スティック縦の値取得 (マージンを適用しない値 STICK_VALUE_MIN~STICK_VALUE_MAX)
 
GX_FORCE_INLINE s32 getStickRightX (void) const
 右スティック横の値取得 (マージンを適用しない値 STICK_VALUE_MIN~STICK_VALUE_MAX)
 
GX_FORCE_INLINE s32 getStickRightY (void) const
 右スティック縦の値取得 (マージンを適用しない値 STICK_VALUE_MIN~STICK_VALUE_MAX)
 
GX_FORCE_INLINE u8 getTriggerLeft (void) const
 左トリガーの値取得 (マージンを適用しない値 0~TRIGGER_VALUE_MAX)
 
GX_FORCE_INLINE u8 getTriggerRight (void) const
 右トリガーの値取得 (マージンを適用しない値 0~TRIGGER_VALUE_MAX)
 
GX_FORCE_INLINE b32 isOn (u32 bit=BUTTON_ALL) const
 押し状態判定
 
GX_FORCE_INLINE b32 isOld (u32 bit=BUTTON_ALL) const
 前フレームの押し状態判定
 
GX_FORCE_INLINE b32 isTrigger (u32 bit=BUTTON_ALL) const
 押した瞬間判定
 
GX_FORCE_INLINE b32 isRelease (u32 bit=BUTTON_ALL) const
 放した瞬間判定
 
GX_FORCE_INLINE b32 isChange (u32 bit=BUTTON_ALL) const
 On,Off変化判定
 
GX_FORCE_INLINE b32 isRepeat (u32 bit=BUTTON_ALL) const
 リピート判定
 
constexpr void setMarginStickLeft (u32 margin)
 左スティックの On/Off、アナログ入力マージンを設定 (0~STICK_VALUE_MAX の範囲で指定)
 
constexpr void setMarginStickRight (u32 margin)
 右スティックの On/Off、アナログ入力マージンを設定 (0~STICK_VALUE_MAX の範囲で指定)
 
constexpr void setMarginTriggerLeft (u8 margin)
 左トリガーの On/Off、アナログ入力マージンを設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
 
constexpr void setMarginTriggerRight (u8 margin)
 右トリガーの On/Off、アナログ入力マージンを設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
 
constexpr void setMarginStickLeftOnOff (u32 marginX, u32 marginY)
 左スティックの On/Off 判定しきい値を設定 (0~STICK_VALUE_MAX の範囲で指定)
 
constexpr void setMarginStickRightOnOff (u32 marginX, u32 marginY)
 右スティックの On/Off 判定しきい値を設定 (0~STICK_VALUE_MAX の範囲で指定)
 
constexpr void setMarginTriggerLeftOnOff (u8 margin)
 左トリガーの On/Off 判定しきい値を設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
 
constexpr void setMarginTriggerRightOnOff (u8 margin)
 右トリガーの On/Off 判定しきい値を設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
 
constexpr void setMarginStickLeftAnalog (u32 marginX, u32 marginY)
 左スティックのアナログ入力マージンを設定 (0~STICK_VALUE_MAX の範囲で指定)
 
constexpr void setMarginStickRightAnalog (u32 marginX, u32 marginY)
 右スティックのアナログ入力マージンを設定 (0~STICK_VALUE_MAX の範囲で指定)
 
constexpr void setMarginTriggerLeftAnalog (u8 margin)
 左トリガーのアナログ入力マージンを設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
 
constexpr void setMarginTriggerRightAnalog (u8 margin)
 右トリガーのアナログ入力マージンを設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
 
constexpr void setMarginStickLeftClip (u32 clipX, u32 clipY)
 左スティックのアナログ入力切り捨て値を設定 (0~STICK_VALUE_MAX の範囲で指定)
 
constexpr void setMarginStickRightClip (u32 clipX, u32 clipY)
 右スティックのアナログ入力切り捨て値を設定 (0~STICK_VALUE_MAX の範囲で指定)
 
constexpr void setMarginTriggerLeftClip (u8 clip)
 左トリガーのアナログ入力切り捨て値を設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
 
constexpr void setMarginTriggerRightClip (u8 clip)
 右トリガーのアナログ入力切り捨て値を設定 (0~TRIGGER_VALUE_MAX の範囲で指定)
 
GX_FORCE_INLINE f32 getRatioStickLeftX (void) const
 左スティックX軸のパッド入力比率取得 (-1.0~1.0, アナログ入力マージンが適用されます)
 
GX_FORCE_INLINE f32 getRatioStickLeftY (void) const
 左スティックY軸のパッド入力比率取得 (-1.0~1.0, アナログ入力マージンが適用されます)
 
GX_FORCE_INLINE f32 getRatioStickRightX (void) const
 右スティックX軸のパッド入力比率取得 (-1.0~1.0, アナログ入力マージンが適用されます)
 
GX_FORCE_INLINE f32 getRatioStickRightY (void) const
 右スティックY軸のパッド入力比率取得 (-1.0~1.0, アナログ入力マージンが適用されます)
 
GX_FORCE_INLINE f32 getRatioTriggerLeft (void) const
 左トリガーのパッド入力比率取得 (0.0~1.0, アナログ入力マージンが適用されます)
 
GX_FORCE_INLINE f32 getRatioTriggerRight (void) const
 右トリガーのパッド入力比率取得 (0.0~1.0, アナログ入力マージンが適用されます)
 
constexpr GxResPadRecordergetResourcePadRecorder (void) const
 パッドレコーダーリソースの取得
 
constexpr PAD_RECORDER getPadRecorderStatus (void) const
 パッドレコーダー状態の取得
 
constexpr GxTouchgetTouch (TOUCH_PANEL panel) const
 タッチセンサー情報の取得
 
constexpr GxMotiongetMotion (void) const
 モーションセンサー情報の取得
 
constexpr GxVibrationgetVibration (void) const
 振動情報の取得
 
constexpr GxUnitLocategetUnit (void) const
 操作ユニットの取得
 
constexpr void setUnit (GxUnitLocate *pUnit)
 操作ユニットの設定
 
void setResourcePadRecorder (GxResPadRecorder *pResource)
 パッドレコーダーリソースの設定
 
f32 getRatioStick (s32 value, s32 margin, s32 clip=0) const
 マージンを含めたスティック入力の比率取得
 
f32 getRatioTrigger (s32 value, s32 margin, s32 clip=0) const
 マージンを含めたトリガー入力の比率取得
 
GX_FORCE_INLINE b32 isOk (void) override
 決定ボタンの判定
 
GX_FORCE_INLINE b32 isCancel (void) override
 キャンセルボタンの判定
 

Additional Inherited Members

- Public Types inherited from GxInputDevice
enum class  KIND { NONE = 0 , UNKNOWN , PAD_NETWORK }
 デバイスの種類 More...
 
- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 
- Static Public Attributes inherited from GxInputDevice
static const s32 INVALID_HANDLE = -1
 無効ハンドル
 
static const s32 INVALID_USER_ID = -1
 無効ユーザーID
 

Detailed Description

パッドクラス

Member Enumeration Documentation

◆ PAD_RECORDER

enum class GxPad::PAD_RECORDER
strong

パッドレコーダーの状態

Enumerator
STOP 

停止

RECORD 

記録

PLAY 

再生

◆ TOUCH_PANEL

enum class GxPad::TOUCH_PANEL
strong

タッチパネル定義

Enumerator
FRONT 

前面パネル

MAX 

定義数

Member Function Documentation

◆ clear()

void GxPad::clear ( void )
overridevirtual

クリア

Implements GxInputDevice.

Here is the caller graph for this function:

◆ getInputDataDevice()

void GxPad::getInputDataDevice ( void )
overridevirtual

デバイスから入力を取得

Implements GxInputDevice.

Reimplemented in GxPadNetwork.

Here is the call graph for this function:

◆ getRatioStick()

f32 GxPad::getRatioStick ( s32 value,
s32 margin,
s32 clip = 0 ) const
protected

マージンを含めたスティック入力の比率取得

Parameters
value[in] 入力値
margin[in] 入力マージン
clip[in] 入力切り捨て
Returns
入力比率

◆ getRatioTrigger()

f32 GxPad::getRatioTrigger ( s32 value,
s32 margin,
s32 clip = 0 ) const
protected

マージンを含めたトリガー入力の比率取得

Parameters
value[in] 入力値
margin[in] 入力マージン
clip[in] 入力切り捨て
Returns
入力比率

◆ initialize()

b32 GxPad::initialize ( void )
overridevirtual

初期化

Returns
成功ならtrue

Implements GxInputDevice.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isCancel()

GX_FORCE_INLINE b32 GxPad::isCancel ( void )
inlineoverrideprotectedvirtual

キャンセルボタンの判定

Implements GxInputDevice.

◆ isOk()

GX_FORCE_INLINE b32 GxPad::isOk ( void )
inlineoverrideprotectedvirtual

決定ボタンの判定

Implements GxInputDevice.

◆ loadInput()

void GxPad::loadInput ( void )
overridevirtual

入力状態を復元

Implements GxInputDevice.

◆ saveInput()

void GxPad::saveInput ( void )
overridevirtual

入力状態を保存

Implements GxInputDevice.

◆ setResourcePadRecorder()

void GxPad::setResourcePadRecorder ( GxResPadRecorder * pResource)
protected

パッドレコーダーリソースの設定

Parameters
pResource[in] 設定リソース

◆ update()

void GxPad::update ( void )
overridevirtual

更新

Implements GxInputDevice.

Here is the call graph for this function:

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