Пример #1
0
void GameInstSet::serialize(GameState* gs, SerializeBuffer& serializer) {
	serializer.write_int(grid_w);
	serializer.write_int(grid_h);

	serializer.write_int(size());
	serializer.write_int(next_id);
	DepthMap::const_iterator it = depthlist_map.end();
	for (int ind = 0; it != depthlist_map.begin();) {
		--it;
		InstanceState* state = it->second.start_of_list;
		while (state) {
			GameInst* inst = state->inst;
			serializer.write_int(get_inst_type(inst));
			serializer.write_int(inst->id);
			inst->serialize(gs, serializer);
			serializer.write_int(inst->integrity_hash());
			state = state->next_same_depth;
		}
	}
}