#ifndef __BOUNCEMANAGER_H__
#define __BOUNCEMANAGER_H__

#include <map>
#include "BounceOscillator.h"
#include "BounceOscillatorSettings.h"

class BounceManager
{
public:
  BounceManager(const BounceManager&);
  void operator=(const BounceManager&);

public:
  BounceManager();
  ~BounceManager();

  void Init();
  void Add(CasualCore::Object* object);
  void RemoveOscillator(CasualCore::Object* object);
  void Update(float time_elapsed);

private:
  BounceOscillatorSettings m_Settings;
  std::map<CasualCore::Object *, BounceOscillator> m_Items;
};

#endif // __BOUNCEMANAGER_H__
