ActionScript 3.0 Design Patterns

(Chris Devlin) #1

390 | Chapter 10: State Pattern


11 var pauseState:State;
12 var state:State;
13 public function VideoWorks ( )
14 {
15 trace ("Video Player is on");
16 playState = new PlayState(this);
17 stopState = new StopState(this);
18 recordState = new RecordState(this);
19 appendState = new AppendState(this);
20 pauseState=new PauseState(this);
21 state=stopState;
22 }
23 public function startPlay (ns:NetStream,flv:String):void
24 {
25 state.startPlay (ns,flv);
26 }
27 public function startRecord (ns:NetStream,flv:String):void
28 {
29 state.startRecord (ns,flv);
30 }
31 public function startAppend (ns:NetStream,flv:String):void
32 {
33 state.startAppend (ns,flv);
34 }
35 public function stopAll (ns:NetStream):void
36 {
37 state.stopAll (ns);
38 }
39 public function doPause (ns:NetStream):void
40 {
41 state.doPause (ns);
42 }
43 public function setState (state:State):void
44 {
45 trace ("A new state is set");
46 this.state=state;
47 }
48 public function getState ( ):State
49 {
50 return state;
51 }
52 public function getPlayState ( ):State
53 {
54 return this.playState;
55 }
56 public function getRecordState ( ):State
57 {
58 return this.recordState;
59 }
60 public function getAppendState ( ):State
61 {
62 return this.appendState;

Example 10-26. VideoWorks.as (continued)

Free download pdf