Здравствуйте, Alxndr, Вы писали:
A> ...
Может я не въехал в твою задачу, но почему-бы не добавть load()/save() в game_object.
Те объекты, которые должны быть serializable, пускай их реализуют. Тоже самое касается и draw():
class manager {
public:
typedef std::set<game_object*> objects_queue;
static manager* instance() { return instance_ ? instance_ : instance_ = new manager(); }
void reg_object(game_object* go) { objects_.insert(go); }
void unreg_object(game_object* go) { objects_.erase(go); }
virtual void serialize() {}
virtual void draw() {}
protected:
manager() { }
manager(const manager&) { }
objects_queue objects_;
private:
static manager* instance_;
};
... << RSDN@Home 1.1.2 stable >>