package com.mariusht.puremvcexample.view { import com.mariusht.puremvcexample.view.components.ColorfulViewStack; import flash.events.Event; import org.puremvc.as3.interfaces.IMediator; import org.puremvc.as3.patterns.mediator.Mediator; public class ColorfulViewStackMediator extends Mediator implements IMediator { public static const NAME:String = 'ColorfulViewStackMediator'; public function ColorfulViewStackMediator(viewComponent:ColorfulViewStack) { super(NAME, viewComponent); colorfulViewStack.addEventListener(ColorfulViewStack.BLUE_VIEW_CREATED, onBlueViewCreated); colorfulViewStack.addEventListener(ColorfulViewStack.RED_VIEW_CREATED, onRedViewCreated); colorfulViewStack.addEventListener(ColorfulViewStack.GREEN_VIEW_CREATED, onGreenViewCreated); } private function onBlueViewCreated(event:Event):void { trace('blue mediator registered'); facade.registerMediator(new BlueViewMediator(colorfulViewStack.blueView)); } private function onRedViewCreated(event:Event):void { trace('red mediator registered'); facade.registerMediator(new RedViewMediator(colorfulViewStack.redView)); } private function onGreenViewCreated(event:Event):void { trace('green mediator registered'); facade.registerMediator(new GreenViewMediator(colorfulViewStack.greenView)); } protected function get colorfulViewStack():ColorfulViewStack { return viewComponent as ColorfulViewStack; } } }