ActionScript 3.0 Design Patterns

(Chris Devlin) #1

312 | Chapter 8: Observer Pattern


private var eFlag:Number;
private var lFlag:Number;
private var outputColor:Number;
private var battleUpdate:Array=[];
private var warrior:Array=[];
private var scoreSetter:ConcreteSubject;
private var earthling:ConcreteObserver;
private var alien:ConcreteObserver;
private var scoreFormat:TextFormat;
private var missile:Missile;
private var alienMC:Alien;
private var torpedo:Torpedo;
private var androidMC:Android;
private var beam:Beam;
private var earthlingMC:Earthling;


//Main Function
public function ChangeHandler ( )
{
scoreSetter=new ConcreteSubject( );
earthling=new ConcreteObserver(scoreSetter);
warrior.push (earthling);
earthling.nomDeGuerre="Earth Fighter";


var android:ConcreteObserver=
new ConcreteObserver(scoreSetter);
warrior.push (android);
android.nomDeGuerre="Android Beam Base";


alien=new ConcreteObserver(scoreSetter);
warrior.push (alien);
alien.nomDeGuerre="Alien Menace";


var eNm:String=earthling.nomDeGuerre.toLowerCase( );
var anNm:String=android.nomDeGuerre.toLowerCase( );
var alNm:String=alien.nomDeGuerre.toLowerCase( );
battleUpdate=new Array(3);
scoreSetter.setScore (0,"None");
createTextWindow ( );
getParts ( );
}
//Create Output Windows
private function createTextWindow ( ):void
{
for (var i:int=0; i < battleUpdate.length; i++)
{
battleUpdate[i]=new TextField( );
addChild (battleUpdate[i]);
battleUpdate[i].x=20 1 + (i 180);
battleUpdate[i].y=10;
battleUpdate[i].width=150;
battleUpdate[i].height=95;


Example 8-19. ChangeHandler.as (continued)

Free download pdf