Managerくらす

zxc
記事: 79
登録日時: 13年前
住所: 日本の背骨(?)あたり

Managerくらす

投稿記事 by zxc » 9年前

 お久しぶりな人はお久しぶりかもしれません。
キーボードにコーヒーを分け与えた結果、一部のキーが昇天してしまったzxcです。なんやかんやあってMS VS Community2013 の利用を一旦停止して再びVS2010でやってます。 Eclipseは情弱の私には(ry   これは前も書いたような気がする・・・

  とりあえずManagerクラスを考えてみます。これだけでは情報が少なすぎるので実際にはシーン切り替えを管理するSceneSwitcherとでもします。ここでちょっと今迷っているのがどうやってシーンを切り替えるべきタイミングをManagerクラスに知らせるかです。

選択肢
 
  1. SceneSwitcherの中にSceneなどを持つことで切り替えるべきタイミングを把握する
    ->SceneSwitcherは切り替わる選択肢を既に知っていて、公開するのはSwitch()等の抽象的な関数だけ中はごちゃごちゃ
  2. SceneSwitcherの外から教えてもらう
    ->enumか次に切り替わるべき型など切り替わる先を表すインターフェイスがpublicでないといけないし、うんぬんかんぬん。VS2010だとenum class 使えない。
良くも悪くもSceneの切り替えについて変更したいのならばSceneSwitcherに手を加える事になるのが前者に見える、ので前者にしようかと思うのだけれど。
[hr]

CODE:

class Scene{
 public:
  ~
  virtual bool IsContinue()const=0;
  virtual ~Scene(){}
  ~
};

class SceneSwitcher{
 private:
  std::shared_ptr scn_ptr;
 public:
  void Switch(){if( !scn_ptr->IsContinue() ){//switch scene } }
};
とかこんなのでいいんだろうか・・・

コメントはまだありません。