1011
4
    import Class.Screens.Level;
4
    import Class.Screens.Level;
5
    import flash.display.MovieClip;
5
    import flash.display.MovieClip;
6
    import flash.events.Event;
6
    import flash.events.Event;
 
 
7
    import flash.events.TimerEvent;
7
    import flash.utils.Timer;
8
    import flash.utils.Timer;
8
    /**
9
    /**
9
     * ...
10
     * ...
...
 
...
 
11
     */
12
     */
12
    public class Bubblegum extends MovieClip
13
    public class Bubblegum extends MovieClip
13
    {
14
    {
14
        private var _enemyReference:GenericEnemy;
15
        private var _activeTimer:Timer = new Timer(1000, 4);
15
        private var _timeAlive:Timer = new Timer(1000, 4);
 
 
16
        private var _countTimer:Number = 0;
16
        private var _countTimer:Number = 0;
17
        private var _imActive:Boolean = false;
17
        private var _imActive:Boolean = false;
 
 
18
        private var _enemyReference:GenericEnemy;
 
 
19
        private var _enemyLastXSpeed:Number;
 
 
20
        private var _haveEnemy:Boolean = false;
18
 
21
 
19
        public function Bubblegum(enemyReference:GenericEnemy) 
22
        public function Bubblegum(xPos, yPos) 
20
        {
23
        {
21
            _enemyReference = enemyReference
24
            Level._level.addChildAt(this, 0);
22
            Level._level.addChild(this);
25
            this.x = xPos;
 
 
26
            this.y = yPos;
23
            _imActive = true;
27
            _imActive = true;
24
            _timeAlive.addEventListener(Event.ACTIVATE, desactiveMe);
28
            _activeTimer.addEventListener(TimerEvent.TIMER , desactiveMe);
25
 
29
 
26
        }
30
        }
27
 
31
 
...
 
...
 
31
            if (_countTimer == 4)
35
            if (_countTimer == 4)
32
            {
36
            {
33
                _countTimer = 0;
37
                _countTimer = 0;
 
 
38
                _enemyReference.xSpeed = _enemyLastXSpeed;
 
 
39
                killYourSelf();
34
            }
40
            }
35
        }
41
        }
36
 
42
 
...
 
...
 
39
            _imActive = false;
45
            _imActive = false;
40
            Level._itemActivedType = "";
46
            Level._itemActivedType = "";
41
            Level._arrayOfItensBeingUsed.splice(Level._arrayOfItensBeingUsed.indexOf(this), 1);
47
            Level._arrayOfItensBeingUsed.splice(Level._arrayOfItensBeingUsed.indexOf(this), 1);
42
            _timeAlive.stop();
48
            _activeTimer.stop();
43
            _timeAlive.removeEventListener(TimerEvent.TIMER, desactiveMe);
49
            _activeTimer.removeEventListener(TimerEvent.TIMER, desactiveMe);
 
 
50
            _haveEnemy = false;
 
 
51
            
44
            while (this.numChildren)
52
            while (this.numChildren)
45
            {
53
            {
46
                this.removeChildAt(0);
54
                this.removeChildAt(0);
...
 
...
 
49
 
57
 
50
        public function update():void
58
        public function update():void
51
        {
59
        {
 
 
60
            for (var i:uint = 0; i < Level._enemyArray.length; i++)
 
 
61
            {
 
 
62
                if (!_haveEnemy)
 
 
63
                {
 
 
64
                    if (this.hitTest.hitTestObject(Level._enemyArray[i]))
 
 
65
                    {
 
 
66
                        _haveEnemy = true;
 
 
67
                        _activeTimer.start();
 
 
68
                        _enemyReference = Level._enemyArray[i];
 
 
69
                        _enemyLastXSpeed = _enemyReference.xSpeed;
 
 
70
                        _enemyReference.xSpeed = 0;
 
 
71
                    }
 
 
72
                }
 
 
73
 
 
 
74
            }
52
 
75
 
53
        }
76
        }
54
 
77