/*====================ÉCOLE POLYTECHNIQUE DE MONTRÉAL============================

	NOM DU FICHIER :CTrou.h

	DESCRIPTION :	Déclaration des classes de l'objet Trou

	AUTEUR : Martin Bisson, Anne-Marie Buki, Mylene Denis & Jean-Francois Pérusse

	DATE DE CRÉATION : 2004-3-16

	MISES À JOUR :

===============================================================================*/
#ifndef CTROU_H
#define CTROU_H

#include "CObjet.h"
#include "CPngTexture.h"
#include "CVector3f.h"

#define FORCE_CENTRE 0.5f

class CTrou : public CObjet
{
    static bool ballein;
  static CPngTexture TextureTrou;
  float rayon;
  static int HoleSource;
  static int HoleSoundBuffer;

public:
  //CTrou(const CVector3f& LaPosi, type_jeuobjet Type, float r = 0.054f) : CObjet(LaPosi, Type) { rayon = r; }
	CTrou(const CVector3f& LaPosi, type_jeuobjet Type, float r = 0.08f) : CObjet(LaPosi, Type) { rayon = r; }
  ~CTrou() { };

  virtual void AfficheGL() const;
  virtual bool isCollision(CBalle *balle) const;
  static bool ChargeTextures();
  static bool DechargeTextures();
  virtual void UpdateAnimations() const {};
  float getRayon() { return rayon; }
  void setStencil();
  static void setBallIn(bool bIn) { ballein = bIn; }
  static void ChargeSons();
  void PlayHoleSound() const;
};
#endif //CTROU_H
