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

AbyssLibSrc/AbyssLib/AbyssLib/Scene.h

説明を見る。
00001 /*************************************************
00002 ファイル名:Scene.h
00003 作成者  :あびす
00004 役割   :各種シーン
00005 *************************************************/
00010 #ifndef ABYSSLIB_SCENE_H
00011 #define ABYSSLIB_SCENE_H
00012 
00013 namespace nsAbyssLib{
00014 namespace nsScene{
00015 
00016 //シーンクラス(インターフェース)
00023 class IScene_Base{
00024 public:
00028     virtual ~IScene_Base(){}                                        //仮想デストラクタ
00029 
00035     virtual void Initialize() = 0;                                  //初期化
00036 
00042     virtual void OnBegin() = 0;                                     //前処理
00048     virtual void OnMove() = 0;                                      //本処理
00054     virtual void OnDraw() = 0;                                      //描画
00060     virtual void OnEnd() = 0;                                       //後処理
00061 
00068     virtual void SetParent(NovelPlayer* Parent){                    //親エンジンを設定
00069         Outer = Parent;
00070     }
00071 protected:
00077     NovelPlayer* Outer;                                             //親エンジンのアドレス
00078 };
00079 
00080 //通常シーン(デフォルト)
00084 class DefaultNormalScene : public IScene_Base{
00085 public:
00089     DefaultNormalScene();                                           //デフォルトコンストラクタ
00090 
00091     void Initialize();                                              //初期化
00092 
00093     void OnBegin();                                                 //前処理
00094     void OnMove();                                                  //本処理
00095     void OnDraw();                                                  //描画
00096     void OnEnd();                                                   //後処理
00097 private:
00098     bool m_IsRun;                                                   //スクリプトが実行状態か?
00099 
00100     DefaultNormalScene(const DefaultNormalScene&);                  //コピーコンストラクタ(禁止)
00101     DefaultNormalScene& operator =(const DefaultNormalScene&);      //代入演算子(禁止)
00102 };
00103 
00104 //既読履歴シーン(デフォルト)
00108 class DefaultBackLogScene : public IScene_Base{
00109 public:
00113     DefaultBackLogScene();                                          //デフォルトコンストラクタ
00114 
00115     void Initialize();                                              //初期化
00116 
00117     void OnBegin();                                                 //前処理
00118     void OnMove();                                                  //本処理
00119     void OnDraw();                                                  //描画
00120     void OnEnd();                                                   //後処理
00121 private:
00122     bool m_IsFirst;                                                 //初回フラグ
00123     Record m_Temp;                                                  //退避用
00124 
00125     DefaultBackLogScene(const DefaultBackLogScene&);                //コピーコンストラクタ(禁止)
00126     DefaultBackLogScene& operator =(const DefaultBackLogScene&);    //代入演算子(禁止)
00127 };
00128 
00129 //セーブシーン(デフォルト)
00133 class DefaultSaveScene : public IScene_Base{
00134 public:
00138     DefaultSaveScene();                                             //デフォルトコンストラクタ
00143     DefaultSaveScene(IIOStream* IOStream);                          //コンストラクタ(データ入出力クラス指定)
00147     ~DefaultSaveScene();                                            //デストラクタ
00148 
00149     void Initialize();                                              //初期化
00150 
00151     void OnBegin();                                                 //前処理
00152     void OnMove();                                                  //本処理
00153     void OnDraw();                                                  //描画
00154     void OnEnd();                                                   //後処理
00155 
00156     void SetParent(NovelPlayer* Parent);                            //親エンジンを設定
00157 private:
00158     unsigned int m_nSelect;                                         //選択番号(十の位)
00159     UICButtonDraw m_Data[10];                                       //ボタン(データ)
00160     UICButtonDraw m_Select[10];                                     //ボタン(十の位)
00161     UICButtonDraw m_EndSave;                                        //ボタン(セーブ終了)
00162     IIOStream* m_IOStream;                                          //データ入出力クラス
00163     virtual bool Confirm();                                         //確認
00164     virtual const char* GetSaveFileName(unsigned int Num);          //セーブファイル名を取得
00165     virtual void SetData(unsigned int Num);                         //ボタン(データ)を設定
00166 
00167     DefaultSaveScene(const DefaultSaveScene&);                      //コピーコンストラクタ(禁止)
00168     DefaultSaveScene& operator =(const DefaultSaveScene&);          //代入演算子(禁止)
00169 };
00170 
00171 //ロードシーン(デフォルト)
00175 class DefaultLoadScene : public IScene_Base{
00176 public:
00180     DefaultLoadScene();                                             //デフォルトコンストラクタ
00185     DefaultLoadScene(IIOStream* IOStream);                          //コンストラクタ(データ入出力クラス指定)
00189     ~DefaultLoadScene();                                            //デストラクタ
00190 
00191     void Initialize();                                              //初期化
00192 
00193     void OnBegin();                                                 //前処理
00194     void OnMove();                                                  //本処理
00195     void OnDraw();                                                  //描画
00196     void OnEnd();                                                   //後処理
00197 
00198     void SetParent(NovelPlayer* Parent);                            //親エンジンを設定
00199 private:
00200     unsigned int m_nSelect;                                         //選択番号(十の位)
00201     UICButtonDraw m_Data[10];                                       //ボタン(データ)
00202     UICButtonDraw m_Select[10];                                     //ボタン(十の位)
00203     UICButtonDraw m_EndLoad;                                        //ボタン(ロード終了)
00204     IIOStream* m_IOStream;                                          //データ入出力クラス
00205     virtual bool Confirm();                                         //確認
00206     virtual const char* GetSaveFileName(unsigned int Num);          //セーブファイル名を取得
00207     virtual void SetData(unsigned int Num);                         //ボタン(データ)を設定
00208 
00209     DefaultLoadScene(const DefaultLoadScene&);                      //コピーコンストラクタ(禁止)
00210     DefaultLoadScene& operator =(const DefaultLoadScene&);          //代入演算子(禁止)
00211 };
00212 
00213 //環境設定シーン(デフォルト)
00217 class DefaultConfigScene : public IScene_Base{
00218 public:
00222     DefaultConfigScene();                                           //デフォルトコンストラクタ
00223 
00224     void Initialize();                                              //初期化
00225 
00226     void OnBegin();                                                 //前処理
00227     void OnMove();                                                  //本処理
00228     void OnDraw();                                                  //描画
00229     void OnEnd();                                                   //後処理
00230 
00231     void SetParent(NovelPlayer* Parent);                            //親エンジンを設定
00232 private:
00233     UICBarDraw m_AutoModeTime;                                      //バー(オートモードの待機時間)
00234     UICBarDraw m_DefaultTextSpeed;                                  //バー(テキストの表示速度(デフォルト))
00235     UICBarDraw m_DefaultBGMVolume;                                  //バー(BGMの音量(デフォルト))
00236     UICBarDraw m_DefaultSEVolume;                                   //バー(SEの音量(デフォルト))
00237     UICBarDraw m_DefaultVoiceVolume;                                //バー(音声の音量(デフォルト))
00238     UICButtonDraw m_WindowMode;                                     //ボタン(ウインドウ)
00239     UICButtonDraw m_FullScreen;                                     //ボタン(フルスクリーン)
00240     UICButtonDraw m_ForceSkipOn;                                    //ボタン(強制スキップする)
00241     UICButtonDraw m_ForceSkipOff;                                   //ボタン(強制スキップしない)
00242     UICButtonDraw m_EndConfig;                                      //ボタン(環境設定終了)
00243     virtual void SetAutoModeTime();                                 //オートモードの待機時間を設定
00244     virtual void SetDefaultTextSpeed();                             //テキストの表示速度(デフォルト)を設定
00245     virtual void SetDefaultBGMVolume();                             //BGMの音量(デフォルト)を設定
00246     virtual void SetDefaultSEVolume();                              //SEの音量(デフォルト)を設定
00247     virtual void SetDefaultVoiceVolume();                           //音声の音量(デフォルト)を設定
00248     virtual void UpdateAllBarRate();                                //全てのバーの割合を一括設定
00249 
00250     DefaultConfigScene(const DefaultConfigScene&);                  //コピーコンストラクタ(禁止)
00251     DefaultConfigScene& operator =(const DefaultConfigScene&);      //代入演算子(禁止)
00252 };
00253 
00254 //メニューシーン(デフォルト)
00258 class DefaultMenuScene : public IScene_Base{
00259 public:
00263     DefaultMenuScene();                                             //デフォルトコンストラクタ
00264 
00265     void Initialize();                                              //初期化
00266 
00267     void OnBegin();                                                 //前処理
00268     void OnMove();                                                  //本処理
00269     void OnDraw();                                                  //描画
00270     void OnEnd();                                                   //後処理
00271 
00272     void SetParent(NovelPlayer* Parent);                            //親エンジンを設定
00273 private:
00274     UICButtonDraw m_Auto;                                           //ボタン(オートモード)
00275     UICButtonDraw m_Skip;                                           //ボタン(スキップ)
00276     UICButtonDraw m_Save;                                           //ボタン(セーブ)
00277     UICButtonDraw m_Load;                                           //ボタン(ロード)
00278     UICButtonDraw m_Config;                                         //ボタン(環境設定)
00279     UICButtonDraw m_EndGame;                                        //ボタン(ゲーム終了)
00280     UICButtonDraw m_EndMenu;                                        //ボタン(メニュー終了)
00281     virtual bool Confirm();                                         //確認
00282 
00283     DefaultMenuScene(const DefaultMenuScene&);                      //コピーコンストラクタ(禁止)
00284     DefaultMenuScene& operator =(const DefaultMenuScene&);          //代入演算子(禁止)
00285 };
00286 
00287 }
00288 }
00289 
00290 #endif
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義