自己完結

完全に雑記

うんこーど漂流記2

CStageManager

  • CStageManagerがインスタンス化された時点でmake_sharedを返すファンクションクラスをVectorにぶちこむ
  • ぶちこんだ上で、Vectorイテレータを別途保持
  • StageLoop()
    • StageChange()でRunが走って…
    • StageをMove(),Draw()で進行させて
    • stage->GetMode()で状態を見て、走らせたりどうこうする(適当)
//...
// runを切り替えて前フレームの処理を繰り返すようにしている

int CStageManager::StageLoop(){
  StageChange();

  // main loop
  switch (_modes.first)
  {
  case gfw::GameMode::e_LOOP:
    {
      _modes = _run();
      return _modes.first;
    }
  case gfw::GameMode::e_RUN:
    {
      _run = boost::bind( &CStageManager::Play, this );
      _modes = _run();
      _stage->ChangeMode(gfw::GameMode::e_LOOP, _modes.second);
      return _modes.first;
    }
  case gfw::GameMode::e_CONTINUE:
    {
      _run = boost::bind( &CStageManager::Continue, this );
      _modes = _run();
      _stage->ChangeMode(gfw::GameMode::e_LOOP, _modes.second);
      return _modes.first;
    }
    
    // ...  
  }

CStageTitle

  • インスタンス化するとグローバルデータをリセットする
  • InterfaceInit()
    • インターフェースを初期化とか?( )
  • Init()
    • リプレイオブジェクト(static)の初期化
    • インターフェースの作成
    • プレイヤー状態の初期化
    • グローバル情報の初期化
    • タイトル内のオブジェクトを作成
  • Move()
    • リプレイがあるならリプレイを保存する(なぜタイトルなのに保存するのか)
    • エフェクトを降らせている
    • 全オブジェクトのTESTとMOVE
  • Draw()
    • 全オブジェクトのDRAW
    • 各ボタンの描画
    • 謎のManagerDraw()

眠いので寝る