コード例 #1
0
void ShowAdvisorWindow::load(const VariantMap &stream)
{
  GameEvent::load( stream );

  _show = stream.get( "show" );
  Variant adv = stream.get( "advisor" );
  if( adv.type() == Variant::String ) { _advisor = advisor::fromString( adv.toString() ); }
  else { _advisor = (advisor::Type)adv.toInt(); }
}
コード例 #2
0
ファイル: senate.cpp プロジェクト: b606/caesaria-game
  void set( Senate::Status status, const VariantMap& stream )
  {
    if( stream.empty() )
      return;

    Picture pic( stream.get( "rc"), stream.get( "index") );
    Point offset = stream.get( "offset" );
    set( status, pic, offset );
  }
コード例 #3
0
void Peace::load(const VariantMap& stream)
{
  VARIANT_LOAD_ANY_D( _d, peaceYears, stream )
  VARIANT_LOAD_ANY_D( _d, someCriminalSeen, stream )
  _d->protestorOrMugglerSeen = stream.get( lc_protestorOrMugglerSeen );
  _d->rioterSeen = stream.get( lc_rioterSeen );
  _d->value = stream.get( lc_value );
  _d->significantBuildingsDestroyed = stream.get( lc_significantBuildingsDestroyed );
}
コード例 #4
0
ファイル: tileoverlay.cpp プロジェクト: BlackFoks/opencaesar3
void TileOverlay::load( const VariantMap& stream )
{
  _d->name = stream.get( "name" ).toString();
  _d->size = stream.get( "size", Size(1) ).toSize();
  //_d->overlayType = (LandOverlayType)stream.get( "overlayType" ).toInt();
  _d->picture = Picture::load( stream.get( "picture" ).toString() + ".png" );
  _d->picture.setOffset( stream.get( "pictureOffset" ).toPoint() );
  _d->isDeleted = stream.get( "isDeleted", false ).toBool();  
}
コード例 #5
0
ファイル: soldier.cpp プロジェクト: KSLcom/caesaria-game
void Soldier::load(const VariantMap& stream)
{
  Walker::load( stream );
  __D_IMPL(d,Soldier)
  d->action = (Soldier::SldrAction)stream.get( lc_sldAction ).toInt();
  d->strikeForce = stream.get( lc_strikeForce );
  d->resistance = stream.get( lc_resistance );
  d->attackDistance = stream.get( lc_attackDistance ).toUInt();
  VARIANT_LOAD_ANY_D( d, morale, stream )
}
コード例 #6
0
ファイル: oc3_divinity.cpp プロジェクト: akuskis/opencaesar3
void DivinePantheon::initialize( const io::FilePath& filename )
{
  VariantMap pantheon = SaveAdapter::load( filename.toString() );

  _d->divinties.push_back( RomeDivinityBase::create( pantheon.get( "ceres" ).toMap() ) );
  _d->divinties.push_back( RomeDivinityBase::create( pantheon.get( "mars" ).toMap() ) );
  _d->divinties.push_back( RomeDivinityBase::create( pantheon.get( "neptune" ).toMap() ) );
  _d->divinties.push_back( RomeDivinityBase::create( pantheon.get( "venus" ).toMap() ) );
  _d->divinties.push_back( RomeDivinityBase::create( pantheon.get( "mercury" ).toMap() ) );
}
コード例 #7
0
ファイル: oc3_house.cpp プロジェクト: akuskis/opencaesar3
void House::load( const VariantMap& stream )
{
  Building::load( stream );

  _d->picIdOffset = stream.get( "picIdOffset" ).toInt();
  _d->houseId = stream.get( "houseId" ).toInt();
  _d->houseLevel = stream.get( "houseLevel" ).toInt();

  _d->houseLevelSpec = HouseSpecHelper::getInstance().getHouseLevelSpec(_d->houseLevel);
  _d->nextHouseLevelSpec = _d->houseLevelSpec.next();

  _d->desirability = stream.get( "desirability" ).toInt();
  _d->currentHabitants = stream.get( "currentHubitants" ).toInt();
  _d->maxHabitants = stream.get( "maxHubitants" ).toInt();
  _d->freeWorkersCount = stream.get( "freeWorkersCount" ).toInt();

  _d->goodStore.load( stream.get( "goodstore" ).toMap() );

  VariantList vl_services = stream.get( "services" ).toList();
  for( VariantList::iterator it = vl_services.begin();
       it != vl_services.end(); it++ )
  {
    ServiceType type = ServiceType( (*it).toInt() );
    it++;
    int serviceValue = (*it).toInt();

    _d->serviceAccessMap[ type ] = serviceValue;
  }

  Building::build( getTilePos() );
  _update();
}
コード例 #8
0
ファイル: cityindebt.cpp プロジェクト: KSLcom/caesaria-game
void CityIndebt::load(const VariantMap& stream)
{
  GameEvent::load( stream );
  VARIANT_LOAD_ANY_D( _d, state, stream )
  VARIANT_LOAD_ANY_D( _d, isDeleted, stream )

  _d->emperorMoney << stream.get( "emperorMoney" ).toList();
  _d->text = stream.get( "text" ).toStringArray();
  _d->title = stream.get( "title" ).toStringArray();
  _d->video = stream.get( "video" ).toStringArray();
}
コード例 #9
0
ファイル: soldier.cpp プロジェクト: KSLcom/caesaria-game
void Soldier::initialize(const VariantMap &options)
{
  Human::initialize( options );
  setResistance( options.get( "resistance", 1.f ) );
  setStrike( options.get( "strike", 3.f ) );

  Variant ad = options.get( "attackDistance" );
  if( ad.isValid() )
  {
    setAttackDistance( math::clamp( ad.toUInt(), 1u, 99u ) );
  }
}
コード例 #10
0
ファイル: oc3_divinity.cpp プロジェクト: akuskis/opencaesar3
  static RomeDivinityPtr create( const VariantMap& vm )
  {
    RomeDivinityBase* divn = new RomeDivinityBase();
    divn->_name = vm.get( "name" ).toString();
    divn->_service = (ServiceType)vm.get( "service" ).toInt();
    divn->_pic = Picture::load( vm.get( "image" ).toString() );

    RomeDivinityPtr ret( divn );
    ret->drop();
    
    return ret;
  }
コード例 #11
0
ファイル: fishing_boat.cpp プロジェクト: KSLcom/caesaria-game
void FishingBoat::load( const VariantMap& stream )
{
  Ship::load( stream );
  _d->destination = stream.get( "destination" );
  _d->stock.load( stream.get( "stock" ).toList() );
  _d->mode = (State)stream.get( "mode", (int)wait ).toInt();

  _d->base = ptr_cast<CoastalFactory>(_city()->getOverlay( (TilePos)stream.get( "base" ) ) );
  if( _d->base.isValid() )
  {
    _d->base->assignBoat( this );
  }
}
コード例 #12
0
void RandomAnimals::load(const VariantMap& stream)
{
  VARIANT_LOAD_ANY_D( _d, count, stream );
  VARIANT_LOAD_ANY_D( _d, maxAnimals, stream );

  Variant vAnimalType = stream.get( "animalType" );
  if( vAnimalType.type() == Variant::String )
  {
    _d->animalType = WalkerHelper::getType( vAnimalType.toString() );
  }
  else
  {
    _d->animalType = (walker::Type)stream.get( "animalType" ).toInt();
  }
}
コード例 #13
0
void SimpleGoodStore::load( const VariantMap& stream )
{
    _goodStockList.clear();

    GoodStore::load( stream );
    _maxQty = (int)stream.get( "max" );

    VariantList stockSave = stream.get( "stock" ).toList();
    for( VariantList::iterator it=stockSave.begin(); it!=stockSave.end(); it++ )
    {
        GoodStock restored;
        restored.load( (*it).toList() );
        _goodStockList.push_back( restored );
    }
}
コード例 #14
0
ファイル: object.cpp プロジェクト: KSLcom/caesaria-game
void Object::load(const VariantMap& stream)
{
  VARIANT_LOAD_ANYDEF_D( _d, location, _d->location, stream )

  Variant name = stream.get( "name" );
  if( name.isValid() )
  {
    _d->name = name.toString();
  }
  Logger::warningIf( _d->name.empty(), "Object: name is null" );

  setPicture( Picture::load( stream.get( "picture" ).toString() ) );
  _d->animation.load( stream.get( "animation" ).toMap() );
  _d->isDeleted = stream.get( "isDeleted" );
}
コード例 #15
0
int OMap::climateType(const std::string& filename)
{
  VariantMap vm = config::load( filename );
  _d->climate = vm.get( "climate" ).toInt();

  return _d->climate;
}
コード例 #16
0
ファイル: barracks.cpp プロジェクト: KSLcom/caesaria-game
void Barracks::load(const VariantMap& stream)
{
  TrainingBuilding::load( stream );

  _d->store.load( stream.get( "store" ).toMap() );
  VARIANT_LOAD_ANY_D( _d, notNeedSoldiers, stream );
}
コード例 #17
0
bool OMap::load(const std::string& filename, Game& game)
{
  _d->restartFile = filename;
  VariantMap vm;
  if( vfs::Path( filename ).isMyExtension( ".zmap" ) )
  {
    Logger::error( "OMap not loading citymap from zip" );
    return false;
  }
  else
  {
    vm = config::load( filename );
  }

  _d->climate = vm.get( "climate" ).toInt();

  _d->loadCity( vm, game.city() );
  _d->initCameraStartPos(vm, game.city() );

  game.city()->setOption( PlayerCity::adviserEnabled, 1 );

  game.empire()->setCitiesAvailable( true );

  return true;
}
コード例 #18
0
void ChangeEmpireOptions::_exec(Game& game, unsigned int)
{
  VariantMap emOpts = _vars.get( literals::empire ).toMap();
  VariantMap advOptions = _vars.get( literals::adviser ).toMap();

  if( !emOpts.empty() )
  {
    world::EmpirePtr empire = game.empire();

    unsigned int lastWorkerSalary = empire->workerSalary();

    empire->load( emOpts );

    if( empire->workerSalary() != lastWorkerSalary )
    {
      bool raiseSalary = empire->workerSalary() - lastWorkerSalary;

      GameEventPtr e = ShowInfobox::create( "##rome##", raiseSalary ? "##rome_raises_wages##" : "##rome_lowers_wages##");
      e->dispatch();
    }
  }

  Variant adv_enabled = advOptions.get( literals::enabled );
  if( adv_enabled.isValid() )
  {
    game.city()->setOption( PlayerCity::adviserEnabled, adv_enabled );
  }
}
コード例 #19
0
ファイル: market.cpp プロジェクト: KSLcom/caesaria-game
void Market::load( const VariantMap& stream)
{
  ServiceBuilding::load( stream );

  _d->store.load( stream.get( "goodStore" ).toMap() );

  _d->initStore();
}
コード例 #20
0
ファイル: granary.cpp プロジェクト: dalerank/opencaesar3
void Granary::load( const VariantMap& stream)
{
   WorkingBuilding::load(stream);

   _d->goodStore.load( stream.get( "goodStore" ).toMap() );

   computePictures();
}
コード例 #21
0
ファイル: market_kid.cpp プロジェクト: KSLcom/caesaria-game
void MarketKid::load(const VariantMap& stream)
{
  Walker::load( stream );
  _d->basket.load( stream.get( "basket" ).toList() );
  VARIANT_LOAD_ANY_D( _d, delay, stream );
  VARIANT_LOAD_ANY_D( _d, marketPos, stream );
  VARIANT_LOAD_ANY_D( _d, birthTime, stream );
}
コード例 #22
0
void NameGenerator::setLanguage(const std::string& language)
{
  vfs::Path filename = _d->fileTemplate.changeExtension( language );
  if( !filename.exist() )
    filename.changeExtension( defaultExt );

  VariantMap names = config::load( filename );

  _d->female.clear();
  _d->male.clear();
  _d->surname.clear();

  VariantMap ctNames = names.get( "citizens" ).toMap();
  _d->male << ctNames.get( "male" ).toList();
  _d->female << ctNames.get( "female" ).toList();
  _d->surname << ctNames.get( "surname" ).toList();
}
コード例 #23
0
void CartPusher::load( const VariantMap& stream )
{
  Walker::load( stream );
  VariantMap vm_stock = stream.get( "stock" ).toMap();
  _d->stock.load( vm_stock );

  TilePos prPos( stream.get( "producerPos" ).toTilePos() );
  Tile& prTile = Scenario::instance().getCity().getTilemap().at( prPos );
  _d->producerBuilding = prTile.get_terrain().getOverlay().as<Building>();

  TilePos cnsmPos( stream.get( "consumerPos" ).toTilePos() );
  Tile& cnsmTile = Scenario::instance().getCity().getTilemap().at( cnsmPos );
  _d->producerBuilding = prTile.get_terrain().getOverlay().as<Building>();

  _d->maxDistance = stream.get( "maxDistance" ).toInt();
  _d->reservationID = stream.get( "reservationID" ).toInt();
}
コード例 #24
0
void GoodsUpdater::load(const VariantMap& stream)
{
  VARIANT_LOAD_TIME_D( _d, endTime, stream )
  VARIANT_LOAD_ANY_D( _d, value, stream )
  VARIANT_LOAD_CLASS_D_LIST( _d, buildings, stream )

  _d->gtype = (good::Product)good::Helper::getType( stream.get( literals::good ).toString() );
}
コード例 #25
0
void Dispatcher::load(const VariantMap& stream)
{
  VariantMap vm_items = stream.get( "items" ).toMap();
  for( auto item : vm_items )
    add( item.second.toMap(), false );

  VARIANT_LOAD_TIME_D( _d, lastRequestCancelDate, stream )
}
コード例 #26
0
ファイル: locust.cpp プロジェクト: mdl8bit/caesaria-game
void Locust::load( const VariantMap& stream )
{
  Walker::load( stream );

  _d->time = stream.get( "time" );

  //_d->picture = Picture::load( _d->rcGroup, _d->currentIndex );
}
コード例 #27
0
ファイル: oc3_walker.cpp プロジェクト: Rovanion/opencaesar3
void Walker::load( const VariantMap& stream)
{
  _pathWay.load( stream.get( "pathway" ).toMap() );
  _action._action = (WalkerActionType) stream.get( "action" ).toInt();
  _action._direction = (DirectionType) stream.get( "direction" ).toInt();
  _d->pos = stream.get( "pos" ).toTilePos();
  _si = stream.get( "si" ).toInt();
  _sj = stream.get( "sj" ).toInt();
  _ii = stream.get( "ii" ).toInt();
  _jj = stream.get( "jj" ).toInt();
  _d->speedMultiplier = stream.get( "speedMul" ).toFloat();
  _d->speed = stream.get( "speed" ).toFloat();
  _d->midTile = stream.get( "midTile" ).toTilePos();
}
コード例 #28
0
void Fishery::load(const VariantMap& stream)
{
  Srvc::load( stream );

  VariantMap locations = stream.get( "locations" ).toMap();
  foreach( it, locations )
  {
    addLocation( it->second.toTilePos() );
  }
コード例 #29
0
ファイル: dispatcher.cpp プロジェクト: dalerank/caesaria-game
void Dispatcher::load( const vfs::Path& filename, const std::string& section)
{
  VariantMap vm = config::load( filename );

  if( !section.empty() )
    vm = vm.get( section ).toMap();

  load( vm );
}
コード例 #30
0
ファイル: Watchdog.cpp プロジェクト: henare/passenger
	HelperAgentWatcher(const ResourceLocator &resourceLocator) {
		if (agentsOptions.get("web_server_type") == "apache") {
			helperAgentFilename = resourceLocator.getAgentsDir() + "/apache2/PassengerHelperAgent";
		} else {
			helperAgentFilename = resourceLocator.getAgentsDir() + "/nginx/PassengerHelperAgent";
		}
		requestSocketPassword = randomGenerator->generateByteString(REQUEST_SOCKET_PASSWORD_SIZE);
		messageSocketPassword = randomGenerator->generateByteString(MESSAGE_SERVER_MAX_PASSWORD_SIZE);
	}