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 }