AbyssLib 1.301
あびす謹製ノベルゲームフレームワークライブラリ

AbyssLibSrc/AbyssLib/AbyssLib/InputManager.h

説明を見る。
00001 /*************************************************
00002 ファイル名:InputManager.h
00003 作成者  :あびす
00004 役割   :入力関連
00005 *************************************************/
00010 #ifndef ABYSSLIB_INPUTMANAGER_H
00011 #define ABYSSLIB_INPUTMANAGER_H
00012 
00013 namespace nsAbyssLib{
00014 namespace nsInputManager{
00015 
00016 //ユーザー入力用デバイス(インターフェース)
00025 class IInputManager{
00026 public:
00027     //入力情報の更新/取得
00035     virtual bool LButton() const = 0;                           //押下状態の有無
00044     virtual bool PushLButton() const = 0;                       //押されたばかりか?
00053     virtual bool PushUpLButton() const = 0;                     //離されたばかりか?
00062     virtual bool MButton() const = 0;                           //押下状態の有無
00072     virtual bool PushMButton() const = 0;                       //押されたばかりか?
00082     virtual bool PushUpMButton() const = 0;                     //離されたばかりか?
00090     virtual bool RButton() const = 0;                           //押下状態の有無
00099     virtual bool PushRButton() const = 0;                       //押されたばかりか?
00108     virtual bool PushUpRButton() const = 0;                     //離されたばかりか?
00116     virtual void GetXY(int& x, int& y) const = 0;               //カーソル座標を取得
00124     virtual void GetZ(int &z) const = 0;                        //ホイールを取得
00125     //各種イベント検知メソッド
00134     virtual bool OnCallBackLog() const = 0;                     //呼び出し(既読履歴)
00143     virtual bool OnCallConfig() const = 0;                      //呼び出し(環境設定)
00152     virtual bool OnCallMenu() const = 0;                        //呼び出し(メニュー)
00161     virtual bool OnCallSave() const = 0;                        //呼び出し(セーブ)
00170     virtual bool OnCallLoad() const = 0;                        //呼び出し(ロード)
00179     virtual bool OnCallSuspend() const = 0;                     //呼び出し(一時停止)
00188     virtual bool OnCallEndApp() const = 0;                      //呼び出し(終了)
00197     virtual bool OnReturnBackLog() const = 0;                   //戻る(既読履歴)
00206     virtual bool OnReturnConfig() const = 0;                    //戻る(環境設定)
00215     virtual bool OnReturnMenu() const = 0;                      //戻る(メニュー)
00224     virtual bool OnReturnSave() const = 0;                      //戻る(セーブ)
00233     virtual bool OnReturnLoad() const = 0;                      //戻る(ロード)
00242     virtual bool OnAutoOn() const = 0;                          //オートオン
00251     virtual bool OnAutoOff() const = 0;                         //オートオフ
00260     virtual bool OnSkipOn() const = 0;                          //スキップオン
00269     virtual bool OnSkipOff() const = 0;                         //スキップオフ
00278     virtual bool OnClickText() const = 0;                       //テキストを進める
00287     virtual bool OnEraseTextWindow() const = 0;                 //テキストウインドウを消去
00296     virtual bool OnRollUpLog() const = 0;                       //ログを上に参照
00305     virtual bool OnRollDownLog() const = 0;                     //ログを下に参照
00314     virtual bool OnHoldSelect() const = 0;                      //選択肢をホールド
00323     virtual bool OnPushSelect() const = 0;                      //選択肢をクリック(1)
00332     virtual bool OnClickSelect() const = 0;                     //選択肢をクリック(2)
00341     virtual bool OnHoldButton() const = 0;                      //ボタンをホールド
00350     virtual bool OnPushButton() const = 0;                      //ボタンをクリック(1)
00359     virtual bool OnClickButton() const = 0;                     //ボタンをクリック(2)
00368     virtual bool OnHoldUIButton() const = 0;                    //UIボタンをホールド
00377     virtual bool OnPushUIButton() const = 0;                    //UIボタンをクリック(1)
00386     virtual bool OnClickUIButton() const = 0;                   //UIボタンをクリック(2)
00387     //ガードタイム関連
00395     virtual void DecGuardTime() = 0;                            //ガードタイムを減少
00404     virtual bool IsGuardTime() const = 0;                       //ガードタイムか判定
00414     virtual void SetGuardTime(unsigned int Time) = 0;           //ガードタイムを設定
00415 };
00416 
00417 //ユーザー入力用デバイス(基底クラス)
00423 class BaseInputManager : public IInputManager{
00424 public:
00428     BaseInputManager();                                         //デフォルトコンストラクタ
00432     virtual ~BaseInputManager(){}                               //仮想デストラクタ
00433 
00439     virtual void Flush() = 0;
00440     //
00441     //  各種イベント検知メソッド
00442     //
00443     //  ・各種イベントを検知する
00444     //  ・true:発生した、false:発生していない
00445     //  ※イベント検知は、基本的にイベント検知メソッドで行うこと
00446     //
00447     virtual bool OnCallBackLog() const;                         //呼び出し(既読履歴)
00448     virtual bool OnCallConfig() const;                          //呼び出し(環境設定)
00449     virtual bool OnCallMenu() const;                            //呼び出し(メニュー)
00450     virtual bool OnCallSave() const;                            //呼び出し(セーブ)
00451     virtual bool OnCallLoad() const;                            //呼び出し(ロード)
00452     virtual bool OnCallSuspend() const;                         //呼び出し(一時停止)
00453     virtual bool OnCallEndApp() const;                          //呼び出し(終了)
00454     virtual bool OnReturnBackLog() const;                       //戻る(既読履歴)
00455     virtual bool OnReturnConfig() const;                        //戻る(環境設定)
00456     virtual bool OnReturnMenu() const;                          //戻る(メニュー)
00457     virtual bool OnReturnSave() const;                          //戻る(セーブ)
00458     virtual bool OnReturnLoad() const;                          //戻る(ロード)
00459     virtual bool OnAutoOn() const;                              //オートオン
00460     virtual bool OnAutoOff() const;                             //オートオフ
00461     virtual bool OnSkipOn() const;                              //スキップオン
00462     virtual bool OnSkipOff() const;                             //スキップオフ
00463     virtual bool OnClickText() const;                           //テキストを進める
00464     virtual bool OnEraseTextWindow() const;                     //テキストウインドウを消去
00465     virtual bool OnRollUpLog() const;                           //ログを上に参照
00466     virtual bool OnRollDownLog() const;                         //ログを下に参照
00467     virtual bool OnHoldSelect() const;                          //選択肢をホールド
00468     virtual bool OnPushSelect() const;                          //選択肢をクリック(1)
00469     virtual bool OnClickSelect() const;                         //選択肢をクリック(2)
00470     virtual bool OnHoldButton() const;                          //ボタンをホールド
00471     virtual bool OnPushButton() const;                          //ボタンをクリック(1)
00472     virtual bool OnClickButton() const;                         //ボタンをクリック(2)
00473     virtual bool OnHoldUIButton() const;                        //UIボタンをホールド
00474     virtual bool OnPushUIButton() const;                        //UIボタンをクリック(1)
00475     virtual bool OnClickUIButton() const;                       //UIボタンをクリック(2)
00476 
00477     //ガードタイム関連
00478     void DecGuardTime();                                        //ガードタイムを減少
00479     bool IsGuardTime() const;                                   //ガードタイムか判定
00480     void SetGuardTime(unsigned int Time);                       //ガードタイムを設定
00481 private:
00482     unsigned int m_GuardTime;                                   //ガードタイム用
00483 };
00484 
00485 //ユーザー入力用デバイス(ヌルデバイス)
00491 class NullInputManager : public BaseInputManager{
00492 public:
00493     NullInputManager(){}                                        //デフォルトコンストラクタ
00494 
00495     void Flush(){}                                              //入力情報の更新
00496     bool LButton() const{ return(false); }                      //押下状態の有無
00497     bool PushLButton() const{ return(false); }                  //押されたばかりか?
00498     bool PushUpLButton() const{ return(false); }                //離されたばかりか?
00499     bool MButton() const{ return(false); }                      //押下状態の有無
00500     bool PushMButton() const{ return(false); }                  //押されたばかりか?
00501     bool PushUpMButton() const{ return(false); }                //離されたばかりか?
00502     bool RButton() const{ return(false); }                      //押下状態の有無
00503     bool PushRButton() const{ return(false); }                  //押されたばかりか?
00504     bool PushUpRButton() const{ return(false); }                //離されたばかりか?
00505     void GetXY(int& x, int& y) const{}                          //カーソル座標を取得
00506     void GetZ(int &z) const{}                                   //ホイールを取得
00507 private:
00508     NullInputManager(const NullInputManager&);                  //コピーコンストラクタ(禁止)
00509     NullInputManager& operator =(const NullInputManager&);      //代入演算子(禁止)
00510 };
00511 
00512 }
00513 }
00514 
00515 #endif
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義