• Main Page
  • Classes
  • Files
  • File List
  • File Members

code/source/powerups/PowerupBigHand.cpp

Go to the documentation of this file.
00001 /*
00002  * TetriCycle
00003  * Copyright (C) 2009, 2010 Cale Scholl
00004  *
00005  * This file is part of TetriCycle.
00006  *
00007  * TetriCycle is free software: you can redistribute it and/or modify
00008  * it under the terms of the GNU Lesser General Public License as published
00009  * by the Free Software Foundation, either version 3 of the License, or
00010  * (at your option) any later version.
00011  *
00012  * TetriCycle is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  * GNU Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public License
00018  * along with TetriCycle.  If not, see <http://www.gnu.org/licenses/>.
00019  */
00020 
00021 /** @file PowerupBigHand.cpp
00022  * @author Cale Scholl / calvinss4
00023  */
00024 
00025 #include "PowerupBigHand.h"
00026 
00027 #include "Player.h"        // for Player
00028 #include "libwiigui/gui.h" // for GuiImageData
00029 
00030 extern Player *g_players; ///< the player instances
00031 
00032 PowerupId PowerupBigHand::powerupId;
00033 Powerup *PowerupBigHand::instance = new PowerupBigHand();
00034 
00035 GuiImageData *PowerupBigHand::imageData = 
00036   new GuiImageData(powerup_bighand_png);
00037 
00038 string PowerupBigHand::helpText[2] = 
00039   {"Big Hand", "Hey! Your hand's in the way!"};
00040 
00041 void PowerupBigHand::StartEffect(u8 player)
00042 {
00043   g_players[player].gameData.powerupData.isBigHand = true;
00044 }
00045 
00046 /// Allow more than one PowerupBigHand to be in effect at the same time.
00047 /**
00048  * This function assumes this powerup has already been removed from the powerup 
00049  * effect queue. If another PowerupBigHand is in the queue then allow that one 
00050  * to stop the effect.
00051  */
00052 void PowerupBigHand::StopEffect(u8 player)
00053 {
00054   for (int i = 0; i < MAX_POWERUP_EFFECTS; ++i)
00055   {
00056     Powerup *powerup = g_players[player].gameData.powerupEffects[i];
00057     if (powerup && powerup->GetPowerupId() == powerupId)
00058     {
00059       return;
00060     }
00061   }
00062   
00063   g_players[player].gameData.powerupData.isBigHand = false;
00064 }

Generated on Wed Oct 20 2010 17:06:58 for TetriCycle by  doxygen 1.7.1