1     package
2     {
3        import away3d.core.utils.Init;
4
5        import caurina.transitions.Tweener;
6
7        import flash.filters.*;
8
9        public class ApplicationManager extends BaseObject
10       {
11          protected static const GLOW_SIZE:Number = 25;
12          protected static const BLUR_SIZE:Number = 5;
13          protected var mesh:MeshObject = null;
14          protected var glowFilter:GlowFilter = null;
15          protected var blurFilter:BlurFilter = null;
16
17          public function ApplicationManager(engineManager:EngineManager)
18          {
19             super(engineManager);
20          }
21
22          public function startupApplicationManager():ApplicationManager
23          {
24             super.startupBaseObject();
25             mesh = new EffectMeshObject(engineManager).startupColladaEffectMeshObject(
26                engineManager.MyResourceManager.Fighter1XML,
27                new Init({material:engineManager.MyResourceManager.SF02_Tex}));
28             mesh.model.moveTo(100, -100, 2000);
29
30             glowFilter = new GlowFilter();
31             blurFilter = new BlurFilter();
32
33             if (engineManager.FilterAnimationsEnabled)
34             {
35                addInreasingGlowTween();
36                addInreasingBlurTween();
37             }
38
39             var filters:Array = new Array();
40             if (engineManager.GlowFilterEnabled) filters.push(glowFilter);
41             if (engineManager.BlurFilterEnabled) filters.push(blurFilter);
42
43             mesh.model.filters = filters;
44
45             return this;
46          }
47
48          protected function addInreasingGlowTween():void
49          {
50             glowFilter.blurX = 0;
51             glowFilter.blurY = 0;
52             Tweener.addTween(glowFilter, {blurX:GLOW_SIZE, blurY:GLOW_SIZE, time:5, transition:"linear", onComplete:addDecreasingGlowTween});
53          }
54
55          protected function addDecreasingGlowTween():void
56          {
57             blurFilter.blurX = GLOW_SIZE;
58             glowFilter.blurY = GLOW_SIZE;
59             Tweener.addTween(glowFilter, {blurX:0, blurY:0, time:5, transition:"linear", onComplete:addInreasingGlowTween});
60          }
61
62          protected function addInreasingBlurTween():void
63          {
64             blurFilter.blurX = 0;
65             blurFilter.blurY = 0;
66             Tweener.addTween(blurFilter, {blurX:BLUR_SIZE, blurY:BLUR_SIZE, transition:"linear", time:5, onComplete:addDecreasingBlurTween});
67          }
68
69          protected function addDecreasingBlurTween():void
70          {
71             blurFilter.blurX = BLUR_SIZE;
72             blurFilter.blurY = BLUR_SIZE;
73             Tweener.addTween(blurFilter, {blurX:0, blurY:0, time:5, transition:"linear", onComplete:addInreasingBlurTween});
74          }
75
76          public override function shutdown():void
77          {
78             super.shutdown();
79
80             Tweener.removeAllTweens();
81             mesh.shutdown();
82             mesh = null;
83             glowFilter = null;
84             blurFilter = null;
85          }
86
87          public override function enterFrame(dt:Number):void
88          {
89             Tweener.updateTime();
90          }
91
92       }
93    }