AbyssLib 1.301
あびす謹製ノベルゲームフレームワークライブラリ
|
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