home *** CD-ROM | disk | FTP | other *** search
- class Paddle extends BaseObject
- {
- var bGotBall;
- var bBallStickAbility;
- static var nBALL_HIT_BOUNCE_BACK = 1;
- static var nBALL_HIT_STICKS = 2;
- static var nBALL_LAUNCH_ANGLE_MIN = 225;
- static var nBALL_LAUNCH_ANGLE_MAX = 315;
- static var nANGLE_CHANGE_PER_PIXEL = 0.35;
- function Paddle(_mcRef)
- {
- super(_mcRef);
- this.bGotBall = false;
- LevelManager.Instance.doAddListener(this);
- }
- function getAffectedBounceAngleForBall(_oBall)
- {
- var _loc2_ = _oBall.Angle;
- if(_loc2_ < 0)
- {
- _loc2_ += 360;
- }
- else if(_loc2_ > 360)
- {
- _loc2_ %= 360;
- }
- var _loc3_ = _oBall.Ref._x - this.Ref._x;
- var _loc4_ = _loc3_ * Paddle.nANGLE_CHANGE_PER_PIXEL;
- _loc2_ += _loc4_;
- if(_loc2_ < Paddle.nBALL_LAUNCH_ANGLE_MIN)
- {
- _loc2_ = Paddle.nBALL_LAUNCH_ANGLE_MIN;
- }
- else if(_loc2_ > Paddle.nBALL_LAUNCH_ANGLE_MAX)
- {
- _loc2_ = Paddle.nBALL_LAUNCH_ANGLE_MAX;
- }
- return _loc2_;
- }
- function getBallHitReaction(_oBall)
- {
- var _loc2_ = undefined;
- if(!this.bBallStickAbility || _oBall instanceof ShootingStar)
- {
- _loc2_ = Paddle.nBALL_HIT_BOUNCE_BACK;
- }
- else
- {
- _loc2_ = Paddle.nBALL_HIT_STICKS;
- }
- return _loc2_;
- }
- function doDestroy()
- {
- LevelManager.Instance.doRemoveListener(this);
- super.doDestroy();
- }
- }
-