package net.aklabs.demo.simonsays {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import net.aklabs.demo.simonsays.PowerupEvent;

    /*
     * Class Powerup
     * 
     * This class just represents a powerup in the game.
     * This is more a data structure than a class, but I don't think
     * AS 3.0 has just bare structures. Silly ECMA language...
     */
    public class Powerup extends Sprite
    {
	public static var PTYPE_SLOWDOWN:Number = 0; /* SLOWDOWN - Slows the pattern timer to a much lower rate */
	public static var PTYPE_FORGIVENESS:Number = 1; /* FORGIVENESS - If you have FORGIVENESSS in your inventory and you miss a pattern, it doesn't stop you */
	public static var PTYPE_SKIP:Number = 2; /* SKIP - Lets you "skip" a given pattern iteration, and you still get all the score for it. */
	public static var PTYPE_DOUBLE:Number = 3; /* DOUBLE - Score double points for the pattern on which you use this powerup. */
	public static var PTYPE_MAXVALUE:Number = 4;
	// POWERUP_IMAGES - these are the image handles (stored in an array where idx => PTYPE_XXX) for each of the powerup types
	public static var POWERUP_IMAGES = new Array("gfx_pwup_slowdown", "gfx_pwup_forgiveness", "gfx_pwup_exclamation", "gfx_pwup_pointdoubler");
	// POWERUP_SOUNDS - these are the sound handles (stored in an array where idx => PTYPE_XXX) for each of the powerup types
	public static var POWERUP_SOUNDS = new Array("sfx_slowdown", "sfx_forgiveness", "sfx_exclamation", "sfx_pointdoubler");
	public var imgHandle:String; // the handle for the image of this specific powerup
	public var sndHandle:String; // the handle for the sound of this specific powerup
	public var pType:Number; // the PTYPE_XXX of this powerup
    }
}
