Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Sep 24, 2006, 3:21:12 PM (18 years ago)
Author:
bensch
Message:

orxonox/new_class_id: SoundSource completely added as a Resource

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/new_class_id/src/world_entities/power_ups/power_up.cc

    r9757 r9805  
    2121#include "primitive_model.h"
    2222
    23 #include "util/loading/resource_manager.h"
     23#include "sound/resource_sound_buffer.h"
    2424#include "util/loading/load_param.h"
    2525
     
    4747
    4848  this->soundSource.setSourceNode(this);
    49   this->pickupBuffer = NULL;
    50   this->respawnBuffer = NULL;
    5149
    5250  this->collider = NULL;
     
    5654{
    5755  delete this->sphereMaterial;
    58   if (this->pickupBuffer != NULL)
    59     ResourceManager::getInstance()->unload(this->pickupBuffer);
    60   if (this->respawnBuffer != NULL)
    61     ResourceManager::getInstance()->unload(this->respawnBuffer);
    6256}
    6357
     
    7973void PowerUp::loadPickupSound(const std::string& pickupSound)
    8074{
    81   if (this->pickupBuffer != NULL)
    82     ResourceManager::getInstance()->unload(this->pickupBuffer);
    83 
    84   else if (!pickupSound.empty())
    85   {
    86     this->pickupBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load(pickupSound, WAV);
    87     if (this->pickupBuffer != NULL)
    88     {
    89       PRINTF(4)("Loaded sound %s to Pickup: %s.\n", pickupSound.c_str(), this->getCName());
    90     }
    91     else
    92     {
    93       PRINTF(2)("Failed to load sound %s to pickup %s.\n.", pickupSound.c_str(), this->getCName());
    94     }
    95   }
     75  if (!pickupSound.empty())
     76    this->pickupBuffer = OrxSound::ResourceSoundBuffer(pickupSound);
    9677  else
    97     this->pickupBuffer = NULL;
     78    this->pickupBuffer = OrxSound::SoundBuffer();
    9879}
    9980
    10081void PowerUp::loadRespawnSound(const std::string& respawnSound)
    10182{
    102   if (this->respawnBuffer != NULL)
    103     ResourceManager::getInstance()->unload(this->respawnBuffer);
    104 
    105   else if (!respawnSound.empty())
    106   {
    107     this->respawnBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load(respawnSound, WAV);
    108     if (this->respawnBuffer != NULL)
    109     {
    110       PRINTF(4)("Loaded sound %s to Pickup: %s.\n", respawnSound.c_str(), this->getCName());
    111     }
    112     else
    113     {
    114       PRINTF(2)("Failed to load sound %s to respawn %s.\n.", respawnSound.c_str(), this->getCName());
    115     }
    116   }
     83  if (!respawnSound.empty())
     84    this->respawnBuffer = OrxSound::ResourceSoundBuffer(respawnSound);
    11785  else
    118     this->respawnBuffer = NULL;
     86    this->respawnBuffer = OrxSound::SoundBuffer();
    11987}
    12088
     
    12795    if(dynamic_cast<Extendable*>(entity)->pickup(this))
    12896    {
    129       if(pickupBuffer != NULL)
     97      if(pickupBuffer.loaded())
    13098        this->soundSource.play(this->pickupBuffer);
    13199
     
    156124      this->toList(OM_COMMON);
    157125      this->collider = NULL;
    158       if (likely(this->respawnBuffer != NULL))
     126      if (likely(this->respawnBuffer.loaded()))
    159127        this->soundSource.play(this->respawnBuffer);
    160128
Note: See TracChangeset for help on using the changeset viewer.