00001 #ifndef __SHRINKRAYPOWERUP_H__
00002 #define __SHRINKRAYPOWERUP_H__
00003
00004 #include "Powerup.h"
00005
00006
00007 #include "libwiigui/gui.h"
00008 extern GuiSound *g_tetrisCheerSound;
00009
00010
00011 class ShrinkRayPowerup : public Powerup
00012 {
00013 public:
00014 virtual PowerupId GetPowerupId() { return powerupId; }
00015 virtual GuiImageData* GetImageData() { return imageData; }
00016 virtual string* GetHelpText() { return helpText; }
00017 virtual GuiSound* GetSound() { return sound; }
00018
00019 protected:
00020 ShrinkRayPowerup()
00021 {
00022 STATIC
00023 (
00024 vector<Powerup *> &powerupVector = Powerup::GetVector();
00025 powerupId = powerupVector.size();
00026 powerupVector.push_back(this);
00027
00028
00029 g_tetrisCheerSound = new GuiSound(tetris_cheer_pcm, tetris_cheer_pcm_size, SOUND_PCM);
00030 g_tetrisCheerSound->Play();
00031 )
00032 }
00033 virtual ~ShrinkRayPowerup() { }
00034
00035
00036 virtual Powerup* GetInstance() { return new ShrinkRayPowerup(); }
00037
00038
00039
00040
00041 virtual void StartEffect(u8 player);
00042 virtual void StopEffect(u8 player);
00043
00044 private:
00045 static PowerupId powerupId;
00046 static Powerup *instance;
00047 static GuiImageData *imageData;
00048 static GuiSound *sound;
00049 static string helpText[2];
00050 };
00051
00052 #endif // __SHRINKRAYPOWERUP_H__