なんか,結構な期間このサイトを見てきた感じ,
- Scene とかいう謎の基底
- Task とかいう(同上)
- XXXManager とかいうクソみてぇな名称の何か
何故彼らはこれらを好むのだろうか?
もちろん,それで何かが楽になるのであれば良いのだが,楽になってない方々は何なの?っていう.
意味わかんねぇ謎の実装形態を(どこかから持ってきて)採用したら直後に実装作業に行き詰るであろうことは明白であると思うのだが.
マゾなのか?
//このようになりますかしら?
//「タイトル」と「ゲームプレイ中」という2つのシーンですわよ
class TitleScene { タイトルシーン固有の何か };
class GameScene { ゲームシーン固有の何か };
//このようにインスタンスを保有しているとして
TitleScene m_TitleScene;
GameScene m_GameScene;
//処理を実施する箇所ですわ
if( カレントのシーンがタイトル )
{ m_TitleScene.Exec( XXX ); }
else
{ m_GameScene.UpdateGame( YYY, ZZZ ); }
if( カレントのシーンがタイトル )
{ m_TitleScene.Exec( XXX ); }
else
{ m_GameScene.UpdateGame( YYY, ZZZ ); }
//このようなインタフェースクラスを用意して…
class Scene
{//話に不要な部分は省略しますわ
virtual void Update( 全てのシーンで共通な引数 ) = 0;
};
//こんな形に継承して…
class TitleScene : public Scene { ... };
class GameScene : public Scene { ... };
//カレントのシーンのインスタンスを指し示すポインタでも用意して…
Scene *m_pCurrentScene;
//処理をこう書きたい,とおっしゃりたいのでしょう?
m_pCurrentScene->Update( 全てのシーンで共通な引数 );