class DodgeButtonEffects : AbstractButtonEffects { var initialScale = 1.0 override fun initialise( button : Button ) { initialScale = button.actor.scaleXY button.actor.scaleXY = 0.5 button.actor.color.alpha = 0 } override fun begin( button : Button ) : Action { return ScaleTo( button.actor, 0.5, initialScale, Eases.easeOut ) and Fade( button.actor.color, 0.5, 1.0, Eases.EaseIn ) } override fun enter( button : Button ) : Action { return ScaleTo(button.actor, 0.1, initialScale * 1.2, Eases.easeOut) and Colorize( button.actor.color, 0.1, Clan.MO.color ) } override fun exit( button : Button ) : Action { return ScaleTo(button.actor, 0.1, initialScale, Eases.easeOut) and Colorize( button.actor.color, 0.1, Color.white() ) } }