示例#1
0
Firefly::Firefly(const ReaderMapping& lisp) :
   MovingSprite(lisp, "images/objects/resetpoints/default-resetpoint.sprite", LAYER_TILES, COLGROUP_TOUCHABLE),
   activated(false),
   initial_position()
{
  initial_position = get_pos();
  if( !lisp.get( "sprite", sprite_name ) ){
    reactivate();
    return;
  }
  if (sprite_name.empty()) {
    sprite_name = "images/objects/resetpoints/default-resetpoint.sprite";
    reactivate();
    return;
  }
  //Replace sprite
  sprite = SpriteManager::current()->create( sprite_name );
  bbox.set_size(sprite->get_current_hitbox_width(), sprite->get_current_hitbox_height());
  reactivate();

  //Load sound
    if( sprite_name.find("vbell", 0) == std::string::npos ) {
      SoundManager::current()->preload("sounds/savebell_low.wav");
    }
    else {
      SoundManager::current()->preload("sounds/savebell2.wav");
    }
}
示例#2
0
// Reactivates all following Plugins
void ParameterFileModel::reactivate(){
    QString tmpPrefix = _prefix;
    QStringList outputsOfOneSlot;
    int parameterIndex = 0;
    for (int p = 0; p < _keys.size(); p++){
        if (_keys[p].contains("active")){
            parameterIndex = p;
            break;
        }
    }
    if (getValue(_keys[parameterIndex]) == "false"){
        setValue(_keys[parameterIndex], "true");
        for (int i = 0; i < tmpPrefix.size(); i++){
            if (tmpPrefix.at(i) == '.'){
                tmpPrefix.truncate(i);
            }
        }
        for (int i = 0; i < getOutputs(tmpPrefix).size(); i++){
            if (getValue(tmpPrefix + "."+ getOutputs(tmpPrefix).at(i)).contains(";")){
                outputsOfOneSlot = getValue(tmpPrefix + "."+ getOutputs(tmpPrefix).at(i)).split(";");
                for (int o = 0; o < outputsOfOneSlot.size(); o++){
                    setPrefix(outputsOfOneSlot.at(o));
                    reactivate();
                }
            }
            else if (getValue(tmpPrefix + "."+ getOutputs(tmpPrefix).at(i)) != ""){
                setPrefix(getValue(tmpPrefix + "."+ getOutputs(tmpPrefix).at(i)));
                reactivate();
            }
        }

    }
}
/**
 * \brief Collision with an other item.
 * \param that The other item of the collision.
 * \param info Some informations about the collision.
 */
void ptb::save_player_position::collision
( bear::engine::base_item& that, bear::universe::collision_info& info )
{
  player_proxy p(&that);

  if ( p != NULL )
    if ( p.get_index() == m_player_index )
      {
        m_collision = true;

        if ( m_ready )
          {
            if ( !m_activated )
              {
                p.save_position( get_top_middle() );
                m_activated = true;
                activate();
              }
            else if (m_can_be_reactivated)
              {
                p.save_position( get_top_middle() );
                reactivate();
              }

            m_ready = false;
          }
      }
} // save_player_position::collision()
示例#4
0
文件: drm_backend.cpp 项目: 8l/kwin
void DrmBackend::activate(bool active)
{
    if (active) {
        reactivate();
    } else {
        deactivate();
    }
}
Firefly::Firefly(const Reader& lisp) :
   MovingSprite(lisp, "images/objects/resetpoints/default-resetpoint.sprite", LAYER_TILES, COLGROUP_TOUCHABLE), 
   activated(false),
   initial_position()
{
  initial_position = get_pos();
  if( !lisp.get( "sprite", sprite_name ) ){
    reactivate();
    return;
  }
  if( sprite_name == "" ){
    sprite_name = "images/objects/resetpoints/default-resetpoint.sprite";
    reactivate();
    return;
  }
  //Replace sprite
  sprite = sprite_manager->create( sprite_name );
  bbox.set_size(sprite->get_current_hitbox_width(), sprite->get_current_hitbox_height());
  reactivate();
}
示例#6
0
Firefly::Firefly(const ReaderMapping& lisp) :
   MovingSprite(lisp, "images/objects/resetpoints/default-resetpoint.sprite", LAYER_TILES, COLGROUP_TOUCHABLE),
   m_sprite_light(),
   activated(false),
   initial_position(get_pos())
{
  if( !lisp.get( "sprite", sprite_name ) ){
    reactivate();
    return;
  }
  if (sprite_name.empty()) {
    sprite_name = "images/objects/resetpoints/default-resetpoint.sprite";
    reactivate();
    return;
  }
  //Replace sprite
  sprite = SpriteManager::current()->create( sprite_name );
  bbox.set_size(sprite->get_current_hitbox_width(), sprite->get_current_hitbox_height());

  if (sprite_name.find("torch", 0) != std::string::npos) {
    m_sprite_light = SpriteManager::current()->create("images/objects/lightmap_light/lightmap_light-small.sprite");
    m_sprite_light->set_blend(Blend::ADD);
    m_sprite_light->set_color(TORCH_LIGHT_COLOR);
  }

  reactivate();

  //Load sound
    if( sprite_name.find("vbell", 0) != std::string::npos ) {
      SoundManager::current()->preload("sounds/savebell_low.wav");
    }
    else if( sprite_name.find("torch", 0) != std::string::npos ) {
      SoundManager::current()->preload("sounds/fire.ogg");
    }
    else {
      SoundManager::current()->preload("sounds/savebell2.wav");
    }
}
示例#7
0
int
do_lvm_clear_filter (void)
{
  if (deactivate () == -1)
    return -1;

  if (set_filter ("\"a/.*/\"") == -1)
    return -1;

  if (rescan () == -1)
    return -1;

  return reactivate ();
}
示例#8
0
int
do_lvm_set_filter (char *const *devices)
{
  CLEANUP_FREE char *filter = make_filter_string (devices);
  if (filter == NULL)
    return -1;

  if (deactivate () == -1)
    return -1;

  int r = set_filter (filter);
  if (r == -1)
    return -1;

  if (rescan () == -1)
    return -1;

  return reactivate ();
}