当前位置: 首页>>代码示例>>C++>>正文


C++ Writer::write_string方法代码示例

本文整理汇总了C++中lisp::Writer::write_string方法的典型用法代码示例。如果您正苦于以下问题:C++ Writer::write_string方法的具体用法?C++ Writer::write_string怎么用?C++ Writer::write_string使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在lisp::Writer的用法示例。


在下文中一共展示了Writer::write_string方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

void
Sector::write(lisp::Writer& writer)
{
  writer.write_string("name", name);
  writer.write_float("gravity", gravity);
  writer.write_string("music", music);

  // write spawnpoints
  for(SpawnPoints::iterator i = spawnpoints.begin(); i != spawnpoints.end();
      ++i) {
    SpawnPoint* spawn = *i;
    writer.start_list("spawn-points");
    writer.write_string("name", spawn->name);
    writer.write_float("x", spawn->pos.x);
    writer.write_float("y", spawn->pos.y);
    writer.end_list("spawn-points");
  }

  // write objects
  for(GameObjects::iterator i = gameobjects.begin();
      i != gameobjects.end(); ++i) {
    Serializable* serializable = dynamic_cast<Serializable*> (*i);
    if(serializable)
      serializable->write(writer);
  }
}
开发者ID:BackupTheBerlios,项目名称:supertux-svn,代码行数:26,代码来源:sector.cpp

示例2: switch

void
PlayerStatus::write(lisp::Writer& writer)
{
  switch(bonus) {
    case NO_BONUS:
      writer.write_string("bonus", "none");
      break;
    case GROWUP_BONUS:
      writer.write_string("bonus", "growup");
      break;
    case FIRE_BONUS:
      writer.write_string("bonus", "fireflower");
      break;
    case ICE_BONUS:
      writer.write_string("bonus", "iceflower");
      break;
    default:
      log_warning << "Unknown bonus type." << std::endl;
      writer.write_string("bonus", "none");
  }
  writer.write_int("fireflowers", max_fire_bullets);
  writer.write_int("iceflowers", max_ice_bullets);
  
  writer.write_int("coins", coins);
  writer.write_int("max-score-multiplier", max_score_multiplier);
}
开发者ID:BackupTheBerlios,项目名称:supertux-svn,代码行数:26,代码来源:player_status.cpp

示例3:

void
WillOWisp::write(lisp::Writer& writer)
{
  writer.start_list("willowisp");

  writer.write_float("x", start_position.x);
  writer.write_float("y", start_position.y);
  writer.write_string("sector", target_sector);
  writer.write_string("spawnpoint", target_spawnpoint);

  writer.end_list("willowisp");
}
开发者ID:BackupTheBerlios,项目名称:supertux-svn,代码行数:12,代码来源:willowisp.cpp

示例4: save_squirrel_table

void save_squirrel_table(HSQUIRRELVM vm, int table_idx, lisp::Writer& writer)
{
  // offset because of sq_pushnull
  if(table_idx < 0)
    table_idx -= 1;
  
  //iterator table
  sq_pushnull(vm);
  while(SQ_SUCCEEDED(sq_next(vm, table_idx))) {
    if(sq_gettype(vm, -2) != OT_STRING) {
      std::cerr << "Table contains non-string key\n";
      continue;
    }
    const char* key;
    sq_getstring(vm, -2, &key);

    switch(sq_gettype(vm, -1)) {
      case OT_INTEGER: {
        int val;
        sq_getinteger(vm, -1, &val);
        writer.write_int(key, val);
        break;
      }
      case OT_FLOAT: {
        float val;
        sq_getfloat(vm, -1, &val);
        writer.write_float(key, val);
        break;
      }
      case OT_BOOL: {
        SQBool val;
        sq_getbool(vm, -1, &val);
        writer.write_bool(key, val);
        break;
      }
      case OT_STRING: {
        const char* str;
        sq_getstring(vm, -1, &str);
        writer.write_string(key, str);
        break;
      }
      case OT_TABLE: {
        writer.start_list(key, true);
        save_squirrel_table(vm, -1, writer);
        writer.end_list(key);
        break;
      }
      case OT_CLOSURE:
        break; // ignore
      case OT_NATIVECLOSURE:
        break;
      default:
        std::cerr << "Can't serialize key '" << key << "' in table.\n";
        break;
    }
    sq_pop(vm, 2);
  }
  sq_pop(vm, 1);
}
开发者ID:BackupTheBerlios,项目名称:supertux-svn,代码行数:59,代码来源:serialize.cpp

示例5: if

void
Camera::write(lisp::Writer& writer)
{
  writer.start_list("camera");
  
  if(mode == NORMAL) {
    writer.write_string("mode", "normal");
    writer.write_bool("backscrolling", do_backscrolling);
  } else if(mode == AUTOSCROLL) {
    writer.write_string("mode", "autoscroll");
    autoscroll_path->write(writer);
  } else if(mode == MANUAL) {
    writer.write_string("mode", "manual");
  }
                     
  writer.end_list("camera");
}
开发者ID:BackupTheBerlios,项目名称:supertux-svn,代码行数:17,代码来源:camera.cpp

示例6:

void
Background::write(lisp::Writer& writer)
{
  writer.start_list("background");

  if (image_top.get() != NULL)
    writer.write_string("image-top", imagefile_top);
    
  writer.write_string("image", imagefile);
  if (image_bottom.get() != NULL)
    writer.write_string("image-bottom", imagefile_bottom);

  writer.write_float("speed", speed);
  writer.write_float("speed-y", speed_y);
  writer.write_int("layer", layer);
  
  writer.end_list("background");
}
开发者ID:BackupTheBerlios,项目名称:supertux-svn,代码行数:18,代码来源:background.cpp

示例7:

void
Dispenser::write(lisp::Writer& writer)
{
  writer.start_list("dispenser");

  writer.write_float("x", start_position.x);
  writer.write_float("y", start_position.y);
  writer.write_float("cycle", cycle);
  writer.write_string("badguy", badguy);

  writer.end_list("dispenser");
}
开发者ID:BackupTheBerlios,项目名称:supertux-svn,代码行数:12,代码来源:dispenser.cpp


注:本文中的lisp::Writer::write_string方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。