STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228095
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/69734157?noj=FRM69734157-5DC" width="1" height="1"></div>

Auditorium.swf

This is the info page for
Flash #44379

(Click the ID number above for more basic data on this flash file.)


Text
<p align="center"><font face="Bauhaus Light" size="52" color="#ffffff" letterSpacing="0.000000" kerning="1">AUTUMN</font></p>

<p align="center"><font face="Bauhaus Light" size="52" color="#ffffff" letterSpacing="0.000000" kerning="1">ACT 1</font></p>

HAJIMEMASHITE

2:3

<p align="right"><font face="Bauhaus Medium" size="12" color="#3c3c3c" letterSpacing="0.000000" kerning="1">Press the &apos;F&apos; key to toggle fullscreen.</font></p>

ActionScript [AS3]

Section 1
//ActController (com.cipherprime.auditorium.controllers.ActController) package com.cipherprime.auditorium.controllers { import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; public class ActController extends Controller { public function ActController(m:Model){ super(m); } public function startAct():void{ var level:Object; for each (level in model.currentAct.levels.list) { tricycle.levelModel.newChild(level); }; model.start(); } public function event_ActLoaded():void{ startAct(); } public function nextAct():void{ tricycle.audioModel.removeAll(); model.loadNextAct(); } } }//package com.cipherprime.auditorium.controllers
Section 2
//AudioController (com.cipherprime.auditorium.controllers.AudioController) package com.cipherprime.auditorium.controllers { import com.cipherprime.tricycle.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import flash.utils.*; import com.cipherprime.tricycle.utils.helpers.*; import com.gs.*; import com.cipherprime.auditorium.models.flow.warps.modifiers.*; import com.cipherprime.auditorium.*; public class AudioController extends Controller { private var _active:Boolean;// = true private var _audioLinkage:Dictionary; private var _audioModel:Model; public function AudioController(m:Model){ _audioLinkage = new Dictionary(); _audioModel = Tricycle.getInstance().audioModel; super(m); } public function event_PauseGame():void{ model.pause(); } public function linkAudio():void{ var i:Number; var w:ContainerModifier; var track:AudioHelper; if (_active){ _startAudio(); } else { for each (track in _audioModel.currentSong.tracks.list) { TweenLite.to(track, tricycle.config.constants.audio.fadeOutTime, {volume:0, onComplete:_startAudio}); }; }; i = 0; for each (w in model.containers.list) { _audioLinkage[w] = _audioModel.currentSong.tracks.getAt(i); ++i; if (i >= _audioModel.currentSong.numTracks){ break; }; }; } public function event_ResumeGame():void{ model.resume(); } public function event_ContainerLevelChanged():void{ if (((_active) && (_audioLinkage[model.lastContainerUpdated]))){ _audioLinkage[model.lastContainerUpdated].volume = model.lastContainerUpdated.level; }; } public function startAct():void{ _active = true; } public function event_LevelRendered():void{ if (tricycle.config.mode != Configuration.EDITOR_MODE){ linkAudio(); }; } public function renderAct():void{ _audioModel.renderAct(tricycle.actModel.currentAct); } public function event_LevelComplete():void{ if (tricycle.config.mode != Configuration.EDITOR_MODE){ unlinkAudio(); }; } private function _startAudio():void{ _audioModel.stop(); _audioModel.play(); _audioModel.volume = 0; _active = true; } public function unlinkAudio():void{ _active = false; _audioLinkage = new Dictionary(); } public function loadLevel():void{ _audioModel.currentSong.loadTracks(tricycle.levelModel.currentLevel.numContainers); } } }//package com.cipherprime.auditorium.controllers
Section 3
//EditorController (com.cipherprime.auditorium.controllers.EditorController) package com.cipherprime.auditorium.controllers { import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; public class EditorController extends Controller { public function EditorController(m:Model){ super(m); } public function init():void{ } public function resetLevel():void{ tricycle.flowModel.removeAll(); tricycle.levelModel.children.removeAt(0); } } }//package com.cipherprime.auditorium.controllers
Section 4
//FlowController (com.cipherprime.auditorium.controllers.FlowController) package com.cipherprime.auditorium.controllers { import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; public class FlowController extends Controller { public function FlowController(m:Model){ super(m); } public function event_PauseGame():void{ model.pause(); } public function event_ResumeGame():void{ model.resume(); } } }//package com.cipherprime.auditorium.controllers
Section 5
//GameController (com.cipherprime.auditorium.controllers.GameController) package com.cipherprime.auditorium.controllers { import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import com.cipherprime.tricycle.utils.helpers.*; import com.cipherprime.auditorium.models.xml.parsers.*; import com.cipherprime.auditorium.views.item.items.*; import com.cipherprime.auditorium.models.events.*; public class GameController extends Controller { private var _paused:Boolean;// = false public function GameController(m:Model){ super(m); } private function _renderCurrentLevel(timing:Number=0):void{ tricycle.flowModel.renderLevel(tricycle.levelModel.currentLevel, timing); tricycle.flowView.fading = false; } public function startLevel():void{ tricycle.flowModel.startLevel(); } public function renderLevel():void{ if (tricycle.levelModel.lastChildModified == tricycle.levelModel.currentLevel){ _renderCurrentLevel(0); }; } public function transitionLevel():void{ tricycle.winSfx.play(); _transitionLevel(); } public function init():void{ tricycle.winSfx = new AudioHelper("lib/sfx/cymbalSwell.mp3"); tricycle.winSfx.load(); tricycle.actModel.loadActPlaylist(tricycle.config.urls.playlist); } public function nextLevel():void{ tricycle.levelModel.loadNextLevel(); } public function resume():void{ _paused = false; tricycle.gameModel.sendToModels(GameEvent.RESUME_GAME); } public function get paused():Boolean{ return (_paused); } public function pause():void{ _paused = true; tricycle.gameModel.sendToModels(GameEvent.PAUSE_GAME); } private function _transitionLevel():void{ tricycle.flowView.addToBlurRenderer(tricycle.layers.background); tricycle.flowView.addToBlurRenderer(tricycle.layers.radii); tricycle.flowView.addToBlurRenderer(tricycle.layers.foreground); tricycle.flowView.fading = true; tricycle.flowModel.removeAll(); } public function loadLevel():void{ tricycle.levelModel.loadCurrentLevel(); } } }//package com.cipherprime.auditorium.controllers
Section 6
//ItemsController (com.cipherprime.auditorium.controllers.ItemsController) package com.cipherprime.auditorium.controllers { import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import com.cipherprime.auditorium.views.item.*; import flash.utils.*; import com.cipherprime.auditorium.views.item.element.elements.*; import com.gs.*; import com.cipherprime.auditorium.models.flow.warps.*; import com.cipherprime.auditorium.views.item.type.*; import com.cipherprime.auditorium.views.item.items.*; public class ItemsController extends Controller { private var _itemsBeingRemoved:Number;// = 0 private var _itemLookup:Dictionary; public function ItemsController(m:Model){ super(m); _itemLookup = new Dictionary(); } public function addStreamItem():Item{ var item:ItemType = new Flow(); item.Init(view.editorMode); item.x = model.lastStreamAdded.x; item.y = model.lastStreamAdded.y; item.vx = model.lastStreamAdded.vx; item.vy = model.lastStreamAdded.vy; item.addElement(model.lastStreamAdded, "Flow"); _itemLookup[model.lastStreamAdded] = item; return (item); } public function get ItemLookUp():Dictionary{ return (_itemLookup); } public function animateItem():void{ var updateItem:Item = _itemLookup[model.lastWarpUpdated]; if (updateItem){ TweenLite.to(updateItem, 1, {x:model.lastWarpUpdated.x, y:model.lastWarpUpdated.y, radius:model.lastWarpUpdated.radius}); }; } private function _removeItem(item:Item):void{ view.removeItem(item); if (!view.editorMode){ _itemsBeingRemoved--; if (_itemsBeingRemoved == 0){ tricycle.gameController.nextLevel(); }; }; } public function removeItem(stream:Boolean=false):void{ var fadeOut:Number; var deleteItem:Item = (stream) ? _itemLookup[model.lastStreamRemoved] : _itemLookup[model.lastWarpRemoved]; if (deleteItem){ fadeOut = tricycle.config.constants.item.fadeOutTime; TweenLite.to(deleteItem, fadeOut, {alpha:0, scaleX:0.5, scaleY:0.5, onComplete:_removeItem, onCompleteParams:[deleteItem]}); if (!view.editorMode){ _itemsBeingRemoved++; }; }; } public function addItem():Item{ var item:ItemType; var fadeIn:Number; var itemsFamily:String = "com.cipherprime.auditorium.views.item.items."; var warpName:String = getQualifiedClassName(model.lastWarpInitialized); var itemName:String = warpName.substring((warpName.lastIndexOf(":") + 1), warpName.lastIndexOf("Modifier")); var ItemClass:Class = (getDefinitionByName((itemsFamily + itemName)) as Class); if (itemName == "Portal"){ if ((((model.lastWarpAdded is PortalExitWarp)) || ((model.lastWarpadded is PortalEntranceWarp)))){ model.lastWarpAdded.portal.type = ItemClass; } else { model.lastWarpAdded.type = ItemClass; }; return (null); } else { item = (new (ItemClass) as ItemType); item.Init(view.editorMode); item.x = model.lastWarpAdded.position.x; item.y = model.lastWarpAdded.position.y; item.radius = model.lastWarpAdded.radius; item.addElement(model.lastWarpAdded, model.lastWarpAdded.name); if ((item is Color)){ (item as Color).color = model.lastWarpAdded.colors[0]; } else { if ((item is Container)){ (item as Container).initIcon(model.lastWarpAdded.colors.length); (item as Container).colors = model.lastWarpAdded.colors; }; }; model.lastWarpAdded.type = ItemClass; _itemLookup[model.lastWarpAdded] = item; fadeIn = tricycle.config.constants.item.fadeInTime; }; {1.4:!NULL!, !NULL!:!NULL!, !NULL!:!NULL!}.from(!NULL!, !NULL!, !NULL!); return ((item as Item)); } public function updateContainer():void{ var levels:Array; var item:Item = _itemLookup[model.lastContainerUpdated]; if (item){ levels = model.lastContainerUpdated.levels; view.updateContainer(item, levels); }; } } }//package com.cipherprime.auditorium.controllers
Section 7
//Act (com.cipherprime.auditorium.models.act.Act) package com.cipherprime.auditorium.models.act { import com.cipherprime.utils.*; public class Act { private var _levels:Cipher; private var _song:Object; private var _title:String; private var _levelCursor:int;// = 0 public function Act(){ super(); _levels = new Cipher(); } public function get levels():Cipher{ return (_levels); } public function init(params:Object):void{ _levels.concat(params.levels); _song = params.song; _title = params.title; } public function get song():Object{ return (_song); } public function get title():String{ return (_title); } } }//package com.cipherprime.auditorium.models.act
Section 8
//ActModel (com.cipherprime.auditorium.models.act.ActModel) package com.cipherprime.auditorium.models.act { import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.utils.helpers.*; import flash.net.*; import com.cipherprime.auditorium.models.xml.parsers.*; import com.cipherprime.auditorium.models.events.*; public class ActModel extends CrudModel { private var _currentActNumber:Number;// = 0 private var _sharedObject:SharedObject; private var _playList:XmlHelper; private var _started:Boolean;// = false public function ActModel(){ super(); _ChildClass = Act; _sharedObject = SharedObject.getLocal("lastLevel"); } public function get currentAct():Act{ return (children.getAt(_currentActNumber)); } public function resumeAct():void{ _currentActNumber = _sharedObject.data.act; } public function get started():Boolean{ return (_started); } private function _notifyLoaded():void{ _sharedObject.data.act = _currentActNumber; dispatchModelEvent(ActEvent.ACT_LOADED); } public function start():void{ dispatchModelEvent(ActEvent.ACT_INTRO); } public function play():void{ _started = true; dispatchModelEvent(ActEvent.ACT_STARTED); } private function _onPlaylistLoad():void{ var aXml:XML; for each (aXml in _playList.xml.acts.act) { newChild(ActParser.decode(aXml)); }; _notifyLoaded(); } public function loadNextAct():void{ _started = false; if (_currentActNumber < (children.length - 1)){ _currentActNumber++; _notifyLoaded(); } else { _currentActNumber = 0; dispatchModelEvent(ActEvent.ACT_COMPLETE); }; } public function get currentActNumber():Number{ return (_currentActNumber); } public function removeAll():void{ var numActs:Number = children.length; var a:Number = 0; while (a < numActs) { children.removeAt(0); a++; }; } public function loadActPlaylist(fileUrl:String):void{ _playList = new XmlHelper(fileUrl); _playList.onLoad = _onPlaylistLoad; _playList.load(); } } }//package com.cipherprime.auditorium.models.act
Section 9
//AudioModel (com.cipherprime.auditorium.models.audio.AudioModel) package com.cipherprime.auditorium.models.audio { import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.auditorium.models.act.*; import com.cipherprime.tricycle.utils.helpers.*; public class AudioModel extends CrudModel { private var _currentSong:Song; public function AudioModel(){ super(); _ChildClass = Song; } public function stop(e:Event=null):void{ if (_currentSong){ _currentSong.stop(); }; } public function set volume(value:Number):void{ var s:Song; var t:AudioHelper; for each (s in children.list) { for each (t in s.tracks.list) { t.volume = value; }; }; } override public function addChild(child){ _currentSong = child; return (super.addChild(child)); } public function resume(e:Event=null):void{ var s:Song; for each (s in children.list) { s.resume(); }; } public function get currentSong():Song{ return (_currentSong); } public function get currentSongLength():Number{ return (_currentSong.length); } public function pause(e:Event=null):void{ var s:Song; for each (s in children.list) { s.pause(); }; } public function play(e:Event=null):void{ if (_currentSong){ _currentSong.play(); }; } public function renderAct(act:Act):void{ newChild(act.song); } public function removeAll():void{ var numSongs:Number = children.length; var s:Number = 0; while (s < numSongs) { children.getAt(0).die(); children.removeAt(0); s++; }; } } }//package com.cipherprime.auditorium.models.audio
Section 10
//Song (com.cipherprime.auditorium.models.audio.Song) package com.cipherprime.auditorium.models.audio { import flash.events.*; import com.cipherprime.tricycle.model.*; import flash.utils.*; import com.cipherprime.utils.*; import com.cipherprime.tricycle.utils.helpers.*; import com.cipherprime.auditorium.models.events.*; public class Song extends EventDispatcher { private var _length:Number; private var _tracks:Cipher; public var model:Model; private var _trackLoaded:Array; private var _playTimer:Timer; private var _loaderTimer:Timer; public function Song(){ super(); _tracks = new Cipher(); _trackLoaded = new Array(); } public function die():void{ stop(); _tracks.killAll(); } public function stop():void{ var t:AudioHelper; if (_tracks.length){ for each (t in _tracks.list) { t.stop(); }; }; } public function get tracks():Cipher{ return (_tracks); } public function addTracks(... _args):void{ var t:AudioHelper; for each (t in _args) { addTrack(t); }; } public function newTrack(fileUrl:String):AudioHelper{ var t:AudioHelper = new AudioHelper(fileUrl); return (addTrack(t)); } public function init(params:Object=null):void{ var trackName:String; if (((params) && (params.tracks))){ for each (trackName in params.tracks) { newTrack(trackName); }; }; } public function _play(e:TimerEvent=null):void{ var i:Number; var t:AudioHelper; if (_tracks.length){ if (((_playTimer) && (_playTimer.hasEventListener(TimerEvent.TIMER)))){ _playTimer.stop(); _playTimer.removeEventListener(TimerEvent.TIMER, _play); }; i = 0; while (i < _tracks.length) { if (_trackLoaded[i]){ t = _tracks.getAt(i); t.play(-1); }; i++; }; }; } public function loadTracks(numTracks:uint):void{ var i:Number = 0; while (i < numTracks) { if (!_trackLoaded[i]){ _trackLoaded[i] = true; tracks.getAt(i).load(); }; i++; }; _loaderTimer = new Timer(30); _loaderTimer.addEventListener(TimerEvent.TIMER, _updateLoadProgress); _loaderTimer.start(); } public function get firstTrack():AudioHelper{ return (_tracks.getAt(0)); } public function get percentsLoaded():Array{ var track:AudioHelper; var percents:Array = new Array(); for each (track in tracks.list) { percents.push(track.percentLoaded); }; return (percents); } public function addTrack(t:AudioHelper):AudioHelper{ _tracks.add(t); return (t); } public function resume():void{ var t:AudioHelper; for each (t in _tracks.list) { t.resume(); }; } public function get numTracks():Number{ return (_tracks.length); } public function get position():Number{ if (firstTrack){ return (firstTrack.position); }; return (0); } public function play():void{ _play(); } public function get length():Number{ if (firstTrack){ return (firstTrack.length); }; return (0); } public function pause():void{ var t:AudioHelper; for each (t in _tracks.list) { t.pause(); }; } public function get percentLoaded():int{ var percent:int; var i:Number = 0; while (i < percentsLoaded.length) { percent = (percent + percentsLoaded[i]); i++; }; if (percentsLoaded.length){ percent = (percent / _trackLoaded.length); } else { percent = 0; }; return (percent); } private function _updateLoadProgress(e:TimerEvent=null):void{ var loaded:Boolean; var i:Number = 0; while (i < _trackLoaded.length) { loaded = ((loaded) && ((tracks.getAt(i).percentLoaded == 1))); i++; }; if (loaded){ _loaderTimer.stop(); _loaderTimer.removeEventListener(TimerEvent.TIMER, _updateLoadProgress); model.dispatchModelEvent(AudioEvent.TRACKS_LOADED); }; model.dispatchModelEvent(AudioEvent.SONG_LOAD_PROGRESS); } } }//package com.cipherprime.auditorium.models.audio
Section 11
//DefaultSettings (com.cipherprime.auditorium.models.editor.DefaultSettings) package com.cipherprime.auditorium.models.editor { import com.cipherprime.tricycle.*; import com.cipherprime.auditorium.models.flow.*; public class DefaultSettings { public static var tricycle:Tricycle = Tricycle.getInstance(); public function DefaultSettings(){ super(); } public static function stream():void{ var streamParams:Object = {color:0xFFFFFF, x:(tricycle.stage.stageWidth / 2), y:(tricycle.stage.stageHeight / 2), totalParticles:100, noise:30}; tricycle.flowModel.newStream(streamParams); tricycle.flowModel.startStreams(); tricycle.editorView.currentLevelSaved = false; } public static function container(type:String, colors:Array):void{ var warpParams:Object = {x:(tricycle.stage.stageWidth / 2), y:(tricycle.stage.stageHeight / 2), colors:colors, radius:40}; tricycle.flowModel.newWarp(FlowModel.getClassFromName(type), warpParams); tricycle.editorView.currentLevelSaved = false; } public static function colorObject(type:String, c:uint):void{ var warpParams:Object = {x:(tricycle.stage.stageWidth / 2), y:(tricycle.stage.stageHeight / 2), colors:[c], radius:40}; tricycle.flowModel.newWarp(FlowModel.getClassFromName(type), warpParams); tricycle.editorView.currentLevelSaved = false; } public static function warp(type:String):void{ var strengths:Object = {AttractModifier:4, RepelModifier:-4, RiseModifier:4, FallModifier:-4, PushModifier:4, PullModifier:-4, RabbitModifier:1.2, SnailModifier:0.9, BlackHoleModifier:6, DeflectModifier:0}; var warpParams:Object = {x:(tricycle.stage.stageWidth / 2), y:(tricycle.stage.stageHeight / 2), strength:strengths[type], mode:((((type == "AttractModifier")) || ((type == "RepelModifier")))) ? Warp.MODE_SPHERICAL : Warp.MODE_LINEAR, radius:40}; if ((((type == "BlackHoleModifier")) || ((type == "IonStormModifier")))){ warpParams.radius = 80; }; if (type == "DivideModifier"){ warpParams.radius = 20; }; if (type == "PortalModifier"){ warpParams = {entrance:{x:((tricycle.stage.stageWidth / 2) - 100), y:(tricycle.stage.stageHeight / 2), radius:15}, exit:{x:((tricycle.stage.stageWidth / 2) + 100), y:(tricycle.stage.stageHeight / 2), radius:15}}; }; tricycle.flowModel.newWarp(FlowModel.getClassFromName(type), warpParams); tricycle.editorView.currentLevelSaved = false; } } }//package com.cipherprime.auditorium.models.editor
Section 12
//EditorModel (com.cipherprime.auditorium.models.editor.EditorModel) package com.cipherprime.auditorium.models.editor { import flash.events.*; import com.cipherprime.tricycle.model.*; import flash.utils.*; import com.cipherprime.auditorium.models.flow.warps.*; import com.cipherprime.utils.display.*; import com.cipherprime.auditorium.models.events.*; public class EditorModel extends Model { private var _statusTimer:Timer; private var _statusTf:TextDisplay; public function EditorModel(){ _statusTf = new TextDisplay(); super(); } private function _clearStatus(e:TimerEvent=null):void{ _statusTimer.removeEventListener(TimerEvent.TIMER, arguments.callee); _statusTimer.stop(); status(""); } public function start():void{ sendToModels(GlobalEvent.START); sendToModels(EditorEvent.START_EDITOR); tricycle.globalDrag = new DragWarp(); tricycle.globalDrag.init({strength:0.97}); tricycle.layers.foreground.addChild(_statusTf); _statusTf.y = (tricycle.stage.stageHeight - 20); } public function status(text:String, fadeout:Number=0):void{ _statusTf.text = text; if (fadeout){ _statusTimer = new Timer(fadeout); _statusTimer.addEventListener(TimerEvent.TIMER, _clearStatus); _statusTimer.reset(); _statusTimer.start(); } else { if (_statusTimer){ _statusTimer.stop(); if (_statusTimer.hasEventListener(TimerEvent.TIMER)){ _statusTimer.removeEventListener(TimerEvent.TIMER, _clearStatus); }; }; }; } public function sendToModels(event:String):void{ tricycle.flowModel.dispatchModelEvent(event); tricycle.audioModel.dispatchModelEvent(event); tricycle.levelModel.dispatchModelEvent(event); tricycle.editorModel.dispatchModelEvent(event); } public function request(text:String, onEntered:Function, defaultText:String=null):void{ var textInput:TextInput; var text = text; var onEntered = onEntered; var defaultText = defaultText; status(text); if (!defaultText){ textInput = new TextInput(); } else { textInput = new TextInput(defaultText); }; tricycle.layers.foreground.addChild(textInput); textInput.x = (_statusTf.textWidth + _statusTf.x); textInput.y = _statusTf.y; textInput.addEventListener(TextInput.ENTERED, function (e:Event):void{ textInput.removeEventListener(TextInput.ENTERED, arguments.callee); onEntered.call(this, e.target.tf.text); tricycle.layers.foreground.removeChild(textInput); }); } } }//package com.cipherprime.auditorium.models.editor
Section 13
//ActEvent (com.cipherprime.auditorium.models.events.ActEvent) package com.cipherprime.auditorium.models.events { public class ActEvent { public static var PLAYLIST_LOADED:String = "PlaylistLoaded"; public static var ACT_LOADED:String = "ActLoaded"; public static var ACT_STARTED:String = "ActStarted"; public static var ACT_COMPLETE:String = "ActComplete"; public static var ACT_INTRO:String = "ActIntro"; public function ActEvent(){ super(); } } }//package com.cipherprime.auditorium.models.events
Section 14
//AudioEvent (com.cipherprime.auditorium.models.events.AudioEvent) package com.cipherprime.auditorium.models.events { public class AudioEvent { public static const SONG_READY:String = "SongReady"; public static const SONG_LOAD_PROGRESS:String = "SongLoadProgress"; public static const TRACK_ENDED:String = "TrackEnded"; public static const SONG_EXIT_POINT:String = "SongExitPoint"; public static const BUFFER_ERROR:String = "BufferError"; public static const OUTRO_COMPLETE:String = "OutroComplete"; public static const INTRO_COMPLETE:String = "IntroComplete"; public static const SONG_ADDED:String = "SongAdded"; public static const INTRO_LOADED:String = "IntroLoaded"; public static const OUTRO_LOADED:String = "OutroLoaded"; public static const TRACK_ADDED:String = "TrackAdded"; public static const TRACKS_LOADED:String = "TracksLoaded"; public function AudioEvent(){ super(); } } }//package com.cipherprime.auditorium.models.events
Section 15
//EditorEvent (com.cipherprime.auditorium.models.events.EditorEvent) package com.cipherprime.auditorium.models.events { public class EditorEvent { public static const START_EDITOR:String = "StartEditor"; public function EditorEvent(){ super(); } } }//package com.cipherprime.auditorium.models.events
Section 16
//FlowEvent (com.cipherprime.auditorium.models.events.FlowEvent) package com.cipherprime.auditorium.models.events { public class FlowEvent { public static const STREAM_REMOVED:String = "StreamRemoved"; public static const WARP_REMOVED:String = "WarpRemoved"; public static const FLOW_ADDED:String = "FlowAdded"; public static const STREAM_CREATED:String = "StreamCreated"; public static const FRAME_READY:String = "FrameReady"; public static const WARP_CREATED:String = "WarpCreated"; public static const DEMO_MODE_START:String = "DemoModeStart"; public static const STREAM_STARTED:String = "StreamStarted"; public static const CONTAINER_FULL:String = "ContainerFull"; public static const LEVEL_RENDERED:String = "LevelRendered"; public static const PARTICLE_UPDATE:String = "ParticleUpdate"; public static const LEVEL_COMPLETE:String = "LevelComplete"; public static const PARTICLE_RESET:String = "ParticleReset"; public static const FLOW_CREATED:String = "FlowCreated"; public static const CONTAINER_DEMO_COMPLETE:String = "ContainerDemoComplete"; public static const REMOVE_ITEM_MODE:String = "RemoveItemMode"; public static const CONTAINER_LEVEL_CHANGED:String = "ContainerLevelChanged"; public static const STREAM_UPDATED:String = "StreamUpdated"; public static const STREAM_ADDED:String = "StreamAdded"; public static const WARP_UPDATED:String = "WarpUpdated"; public static const PARTICLE_ADDED:String = "ParticleAdded"; public static const WARP_ADDED:String = "WarpAdded"; public static const STREAM_INIT:String = "StreamInit"; public static const WARP_INIT:String = "WarpInit"; public static const DEMO_MODE_COMPLETE:String = "DemoModeComplete"; public static const STREAM_STOPPED:String = "StreamStopped"; public function FlowEvent(){ super(); } } }//package com.cipherprime.auditorium.models.events
Section 17
//GameEvent (com.cipherprime.auditorium.models.events.GameEvent) package com.cipherprime.auditorium.models.events { public class GameEvent { public static const RESUME_GAME:String = "ResumeGame"; public static const START_GAME:String = "StartGame"; public static const CONTINUE_GAME:String = "ContinueGame"; public static const START_INTRO:String = "StartIntro"; public static const LOAD_INTRO:String = "LoadIntro"; public static const PAUSE_GAME:String = "PauseGame"; public static const END_GAME:String = "EndGame"; public function GameEvent(){ super(); } } }//package com.cipherprime.auditorium.models.events
Section 18
//GlobalEvent (com.cipherprime.auditorium.models.events.GlobalEvent) package com.cipherprime.auditorium.models.events { public class GlobalEvent { public static const START:String = "Start"; public function GlobalEvent(){ super(); } } }//package com.cipherprime.auditorium.models.events
Section 19
//LevelEvent (com.cipherprime.auditorium.models.events.LevelEvent) package com.cipherprime.auditorium.models.events { public class LevelEvent { public static const LEVEL_LOADED:String = "LevelLoaded"; public static const LEVEL_ADDED:String = "LevelAdded"; public static const LEVEL_READY:String = "LevelReady"; public static const LEVELS_COMPLETE:String = "LevelsComplete"; public static const START_LEVELS:String = "StartLevels"; public static const LEVEL_SAVED:String = "LevelSaved"; public static const LEVEL_TRANSITION_READY:String = "LevelTransitionReady"; public function LevelEvent(){ super(); } } }//package com.cipherprime.auditorium.models.events
Section 20
//AttractModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.AttractModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class AttractModifier extends GravityWarp { public function AttractModifier(){ super(); } override public function init(params:Object):void{ super.init(params); if (strength < 0){ strength = -(strength); }; mode = MODE_SPHERICAL; } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 21
//BlackHoleModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.BlackHoleModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class BlackHoleModifier extends BlackHoleWarp { public function BlackHoleModifier(){ super(); } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 22
//ColorModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.ColorModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class ColorModifier extends ChromaWarp { public function ColorModifier(){ super(); } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 23
//ContainerModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.ContainerModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class ContainerModifier extends ContainerWarp { public function ContainerModifier(){ super(); } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 24
//DeflectModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.DeflectModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class DeflectModifier extends FilterWarp { public function DeflectModifier(){ super(); } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 25
//DivideModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.DivideModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class DivideModifier extends SplitWarp { public function DivideModifier(){ super(); } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 26
//FallModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.FallModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class FallModifier extends GravityWarp { public function FallModifier(){ super(); } override public function init(params:Object):void{ super.init(params); if (strength > 0){ strength = -(strength); }; mode = MODE_LINEAR; } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 27
//IonStormModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.IonStormModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class IonStormModifier extends IonStormWarp { public function IonStormModifier(){ super(); } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 28
//PortalEntranceModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.PortalEntranceModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class PortalEntranceModifier extends PortalEntranceWarp { public function PortalEntranceModifier(){ super(); } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 29
//PortalExitModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.PortalExitModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class PortalExitModifier extends PortalExitWarp { public function PortalExitModifier(){ super(); } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 30
//PortalModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.PortalModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class PortalModifier extends PortalWarp { public function PortalModifier(){ super(); } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 31
//PullModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.PullModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.euclid.*; import com.cipherprime.auditorium.models.flow.warps.*; public class PullModifier extends GravityWarp { public function PullModifier(){ super(); } override public function init(params:Object):void{ super.init(params); if (strength > 0){ strength = -(strength); }; v = new Vector(strength, 0); mode = MODE_LINEAR; } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 32
//PushModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.PushModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.euclid.*; import com.cipherprime.auditorium.models.flow.warps.*; public class PushModifier extends GravityWarp { public function PushModifier(){ super(); } override public function init(params:Object):void{ super.init(params); if (strength < 0){ strength = -(strength); }; v = new Vector(strength, 0); mode = MODE_LINEAR; } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 33
//RabbitModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.RabbitModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class RabbitModifier extends DragWarp { public function RabbitModifier(){ super(); } override public function init(params:Object):void{ super.init(params); strength = Math.abs(strength); if (strength < 1){ strength = (1 / strength); }; } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 34
//RepelModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.RepelModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class RepelModifier extends GravityWarp { public function RepelModifier(){ super(); } override public function init(params:Object):void{ super.init(params); if (strength > 0){ strength = -(strength); }; mode = MODE_SPHERICAL; } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 35
//RiseModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.RiseModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class RiseModifier extends GravityWarp { public function RiseModifier(){ super(); } override public function init(params:Object):void{ super.init(params); if (strength < 0){ strength = -(strength); }; mode = MODE_LINEAR; } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 36
//SnailModifier (com.cipherprime.auditorium.models.flow.warps.modifiers.SnailModifier) package com.cipherprime.auditorium.models.flow.warps.modifiers { import com.cipherprime.auditorium.models.flow.warps.*; public class SnailModifier extends DragWarp { public function SnailModifier(){ super(); } override public function init(params:Object):void{ super.init(params); strength = Math.abs(strength); if (strength > 1){ strength = (1 / strength); }; } } }//package com.cipherprime.auditorium.models.flow.warps.modifiers
Section 37
//BlackHoleWarp (com.cipherprime.auditorium.models.flow.warps.BlackHoleWarp) package com.cipherprime.auditorium.models.flow.warps { import com.cipherprime.auditorium.models.flow.*; import com.cipherprime.euclid.*; public class BlackHoleWarp extends Warp { protected var vf:VectorField; public function BlackHoleWarp(){ super(); _isObstacle = true; } override public function init(params:Object):void{ var v:Vector; var params = params; super.init(params); v = new Vector(); vf = new VectorField(position.x, position.y); vf.field = function (xv:Number, yv:Number):Vector{ var angle:Number = Math.atan2((yv - position.y), (xv - position.x)); angle = (angle + ((Math.PI / 2) + (Math.PI / 4))); v.setVector(Math.cos(angle), Math.sin(angle)); v.add(new Vector((position.x - xv), (position.y - yv)).normalize().scale((-0.25 * strength))); return (v.scale((-((Calc.dist(xv, yv, position.x, position.y) / radius)) * strength))); }; } override public function apply(p:Particle):void{ if (inRange(p)){ p.vector.add(vf.getVector(p.x, p.y)); p.vector.scale(0.8); }; } } }//package com.cipherprime.auditorium.models.flow.warps
Section 38
//ChromaWarp (com.cipherprime.auditorium.models.flow.warps.ChromaWarp) package com.cipherprime.auditorium.models.flow.warps { import com.cipherprime.auditorium.models.flow.*; public class ChromaWarp extends Warp { public var colors:Array; public var c:Number;// = 0 public function ChromaWarp(){ super(); _isObstacle = true; } public function getNextColor():uint{ if (c >= colors.length){ c = 0; }; return (colors[c++]); } override public function init(params:Object):void{ super.init(params); colors = new Array(); colors = (params.colors) ? params.colors : [0xFFFFFF, 0xFF00FF]; } override public function apply(p:Particle):void{ if (inRange(p)){ p.color = getNextColor(); }; } } }//package com.cipherprime.auditorium.models.flow.warps
Section 39
//ContainerWarp (com.cipherprime.auditorium.models.flow.warps.ContainerWarp) package com.cipherprime.auditorium.models.flow.warps { import flash.events.*; import com.cipherprime.auditorium.models.flow.*; import flash.utils.*; import com.cipherprime.auditorium.models.events.*; public class ContainerWarp extends Warp { private var _filledTimer:Timer; private var _reduceTimer:Timer; private var _fullThreshold:Number;// = 0.94 public var addRate:Number;// = 0.01 public var reduceRate:Number;// = 0.1 public var levels:Array; public var colors:Array; private var _done:Boolean;// = false public var demoComplete:Boolean;// = true public function ContainerWarp(){ _reduceTimer = new Timer(100); _filledTimer = new Timer(1000, 1); super(); colors = new Array(); levels = new Array(); _isObstacle = true; } public function get level():Number{ var l:Number; var average:Number = 0; for each (l in levels) { average = (average + l); }; average = (average / levels.length); return (average); } public function stayFull():void{ _reduceTimer.removeEventListener(TimerEvent.TIMER, reduce); if (_filledTimer.hasEventListener(TimerEvent.TIMER)){ _filledTimer.removeEventListener(TimerEvent.TIMER, startReduce); }; _done = true; } override public function init(params:Object):void{ super.init(params); colors = params.colors; levels = new Array(colors.length); var i:Number = 0; while (i < colors.length) { levels[i] = 0; i++; }; _reduceTimer.addEventListener(TimerEvent.TIMER, reduce, false, 0, true); _reduceTimer.start(); } public function get isFull():Boolean{ if (level > FlowModel.CONTAINER_THRESHOLD){ return (true); }; return (false); } public function startReduce(e:TimerEvent):void{ _filledTimer.removeEventListener(TimerEvent.TIMER, startReduce); _reduceTimer.addEventListener(TimerEvent.TIMER, reduce); } override public function resume():void{ _reduceTimer.start(); } override public function apply(p:Particle):void{ var change:Boolean; var i:Number; if (!_done){ change = false; if (inRange(p)){ i = 0; while (i < colors.length) { if ((((colors[i] == p.color)) && ((levels[i] < 1)))){ levels[i] = (((levels[i] + addRate) >= 1)) ? 1 : (levels[i] + addRate); change = true; }; i++; }; }; if (change){ _reduceTimer.removeEventListener(TimerEvent.TIMER, reduce); if (_filledTimer.hasEventListener(TimerEvent.TIMER)){ _filledTimer.removeEventListener(TimerEvent.TIMER, startReduce); _filledTimer.reset(); }; _notify(); } else { if (!_filledTimer.hasEventListener(TimerEvent.TIMER)){ _filledTimer.addEventListener(TimerEvent.TIMER, startReduce, false, 0, true); _filledTimer.start(); }; }; }; } public function reduce(e:Event):void{ var i:Number = 0; while (i < colors.length) { levels[i] = (((levels[i] - reduceRate) <= 0)) ? 0 : (levels[i] - reduceRate); i++; }; _notify(); } override public function pause():void{ _reduceTimer.stop(); _filledTimer.stop(); } private function _notify(e:Event=null):void{ if (flowModel){ flowModel.lastContainerUpdated = this; flowModel.dispatchModelEvent(FlowEvent.CONTAINER_LEVEL_CHANGED); }; } } }//package com.cipherprime.auditorium.models.flow.warps
Section 40
//DragWarp (com.cipherprime.auditorium.models.flow.warps.DragWarp) package com.cipherprime.auditorium.models.flow.warps { import com.cipherprime.auditorium.models.flow.*; public class DragWarp extends Warp { public function DragWarp(){ super(); _isControl = true; } override public function apply(p:Particle):void{ if (inRange(p)){ p.vector.scale(strength); }; } } }//package com.cipherprime.auditorium.models.flow.warps
Section 41
//FilterWarp (com.cipherprime.auditorium.models.flow.warps.FilterWarp) package com.cipherprime.auditorium.models.flow.warps { import com.cipherprime.auditorium.models.flow.*; import com.cipherprime.euclid.*; public class FilterWarp extends Warp { private var _effect:Number;// = 0.2 public function FilterWarp(){ super(); _isControl = true; } override public function apply(p:Particle):void{ var angle:Number; var normal:Vector; if (inRange(p)){ angle = Math.atan2((p.y - position.y), (p.x - position.x)); normal = new Vector(Math.cos(angle), Math.sin(angle)).normalize(); p.x = (position.x + (normal.x * radius)); p.y = (position.y + (normal.y * radius)); normal.setMagnitude((2 * (p.vector.dot(normal) / normal.dot(normal)))); p.vector.setMagnitude(-(p.vector.getLength())); p.vector.add(normal); }; } } }//package com.cipherprime.auditorium.models.flow.warps
Section 42
//GravityWarp (com.cipherprime.auditorium.models.flow.warps.GravityWarp) package com.cipherprime.auditorium.models.flow.warps { import com.cipherprime.auditorium.models.flow.*; import com.cipherprime.euclid.*; public class GravityWarp extends Warp { protected var vf:VectorField; protected var n:Vector; protected var v:Vector; protected var nvf:VectorField; public function GravityWarp(){ super(); _isControl = true; } public function init2():void{ n = v; nvf = new VectorField(position.x, position.y); nvf.field = function (xv:Number, yv:Number):Vector{ var r:Number = Calc.dist(xv, yv, position.x, position.y); v = n; v.setMagnitude((strength - ((r / radius) * strength))); return (v); }; } override public function apply(p:Particle):void{ if (inRange(p)){ switch (mode){ case MODE_LINEAR: p.vector.add(v); break; case MODE_SPHERICAL: p.vector.add(vf.getVector(p.x, p.y).scale(strength)); break; }; }; } override public function init(params:Object):void{ var params = params; super.init(params); v = new Vector(0, -(strength)); vf = new VectorField(position.x, position.y); vf.field = function (xv:Number, yv:Number):Vector{ v.setVector((position.x - xv), (position.y - yv)).normalize(); return (v); }; } } }//package com.cipherprime.auditorium.models.flow.warps
Section 43
//IonStormWarp (com.cipherprime.auditorium.models.flow.warps.IonStormWarp) package com.cipherprime.auditorium.models.flow.warps { import com.cipherprime.auditorium.models.flow.*; public class IonStormWarp extends Warp { public function IonStormWarp(){ super(); _isObstacle = true; } override public function apply(p:Particle):void{ var angle:Number; if (inRange(p)){ angle = ((Math.PI / 12) * ((Math.random() > 0.5)) ? 1 : -1); p.vector.rotate(angle); p.vector.scale(1.01); }; } } }//package com.cipherprime.auditorium.models.flow.warps
Section 44
//PortalEntranceWarp (com.cipherprime.auditorium.models.flow.warps.PortalEntranceWarp) package com.cipherprime.auditorium.models.flow.warps { import com.cipherprime.auditorium.models.flow.*; public class PortalEntranceWarp extends Warp { public var portal:PortalWarp; public function PortalEntranceWarp(){ super(); _isObstacle = true; } override public function onRemove():void{ if (portal){ portal.remove(); }; } override public function get properties():Object{ return (null); } } }//package com.cipherprime.auditorium.models.flow.warps
Section 45
//PortalExitWarp (com.cipherprime.auditorium.models.flow.warps.PortalExitWarp) package com.cipherprime.auditorium.models.flow.warps { import com.cipherprime.auditorium.models.flow.*; public class PortalExitWarp extends Warp { public var portal:PortalWarp; public function PortalExitWarp(){ super(); _isObstacle = true; } override public function onRemove():void{ if (portal){ portal.remove(); }; } override public function get properties():Object{ return (null); } } }//package com.cipherprime.auditorium.models.flow.warps
Section 46
//PortalWarp (com.cipherprime.auditorium.models.flow.warps.PortalWarp) package com.cipherprime.auditorium.models.flow.warps { import com.cipherprime.tricycle.*; import com.cipherprime.auditorium.models.flow.*; import com.cipherprime.auditorium.models.flow.warps.modifiers.*; public class PortalWarp extends Warp { private var _removing:Boolean;// = false public var _entrance:PortalEntranceModifier; private var _tricycle:Tricycle; public var _exit:PortalExitModifier; public function PortalWarp(){ _tricycle = Tricycle.getInstance(); super(); _isObstacle = true; } override public function get properties():Object{ return ({entrance:{x:entrance.x, y:entrance.y, radius:entrance.radius}, exit:{x:exit.x, y:exit.y, radius:exit.radius}}); } public function remove():void{ if (!_removing){ _removing = true; _tricycle.flowModel.removeWarp(_entrance); _tricycle.flowModel.removeWarp(_exit); _tricycle.flowModel.removeWarp(this); }; } override public function apply(p:Particle):void{ if (entrance.inRange(p)){ p.x = (exit.x - (p.x - entrance.x)); p.y = (exit.y - (p.y - entrance.y)); p.lx = p.x; p.ly = p.y; }; } override public function init(params:Object):void{ super.init(params); _entrance = _tricycle.flowModel.newWarp(PortalEntranceModifier, params.entrance); _exit = _tricycle.flowModel.newWarp(PortalExitModifier, params.exit); _entrance.portal = this; _exit.portal = this; } public function get entrance():PortalEntranceModifier{ return (_entrance); } public function get exit():PortalExitModifier{ return (_exit); } } }//package com.cipherprime.auditorium.models.flow.warps
Section 47
//SplitWarp (com.cipherprime.auditorium.models.flow.warps.SplitWarp) package com.cipherprime.auditorium.models.flow.warps { import com.cipherprime.auditorium.models.flow.*; import flash.utils.*; public class SplitWarp extends Warp { private var _particleDictionary:Dictionary; public function SplitWarp(){ super(); _particleDictionary = new Dictionary(); _isObstacle = true; } override public function apply(p:Particle):void{ var angle:Number; if (inRange(p)){ if (!_particleDictionary[p]){ angle = ((Math.PI / 6) * ((Math.random() > 0.5)) ? 1 : -1); p.vector.rotate(angle); _particleDictionary[p] = true; }; } else { if (_particleDictionary[p]){ _particleDictionary[p] = false; }; }; } } }//package com.cipherprime.auditorium.models.flow.warps
Section 48
//FlowModel (com.cipherprime.auditorium.models.flow.FlowModel) package com.cipherprime.auditorium.models.flow { import flash.events.*; import com.cipherprime.tricycle.model.*; import flash.utils.*; import com.cipherprime.utils.*; import com.cipherprime.auditorium.models.level.*; import com.cipherprime.auditorium.models.flow.warps.modifiers.*; import com.cipherprime.auditorium.*; import com.cipherprime.auditorium.models.flow.warps.*; import com.cipherprime.auditorium.models.events.*; public class FlowModel extends Model { private var _lastWarpRemoved:Warp; private var _renderPauseTimer:Timer; private var _demoMode:Boolean;// = false private var _level:Level; private var _completeTimer:Timer; private var _lastWarpInitialized:Warp; private var _renderTimer:Timer; private var _controls:Cipher; private var _numControls:Number; private var _demoTimer:Timer; private var _lastStreamAdded:Stream; public var lastContainerUpdated:ContainerWarp; private var _containers:Cipher; private var _streams:Cipher; private var _defaultStartingX:Number;// = -1 private var _defaultStartingY:Number;// = -1 private var _defaultRadius:Number;// = 50 private var _lastStreamInitialized:Stream; private var _lastStreamRemoved:Stream; private var _defaultSpacing:Number;// = 20 private var _lastWarpAdded:Warp; private var _warps:Cipher; private var _o:Number;// = 0 private var _fullTimer:Timer; public static var CONTAINER_THRESHOLD:Number = 0.93; public static var CONTROL_PREVIEW:Number = 1500; public function FlowModel(){ _renderTimer = new Timer(50); _demoTimer = new Timer(6000); _fullTimer = new Timer(1000); super(); _streams = new Cipher(); _warps = new Cipher(); _containers = new Cipher(); _controls = new Cipher(); if (tricycle.config.constants.flow){ CONTAINER_THRESHOLD = tricycle.config.constants.flow.containerFullThreshold; CONTROL_PREVIEW = tricycle.config.constants.flow.controlPreviewTime; _defaultRadius = tricycle.config.constants.flow.controlRadius; _defaultSpacing = tricycle.config.constants.flow.controlSpacing; }; _renderPauseTimer = new Timer(CONTROL_PREVIEW); } public function addStream(s:Stream):Stream{ var w:Warp; s.flowModel = this; _streams.add(s); for each (w in _warps.list) { s.addWarp(w); }; _lastStreamAdded = s; dispatchModelEvent(FlowEvent.STREAM_ADDED); return ((s as Stream)); } private function _progressiveRender(e:TimerEvent=null):void{ var e = e; if (_o < _level.objects.length){ if (_level.objects.getAt(_o) == Level.PAUSE_RENDER){ _renderTimer.stop(); _renderPauseTimer.addEventListener(TimerEvent.TIMER, function (e:TimerEvent=null):void{ _o++; _renderPauseTimer.removeEventListener(TimerEvent.TIMER, arguments.callee); _renderPauseTimer.stop(); _renderTimer.start(); }); _renderPauseTimer.start(); } else { newObject(_level.objects.getAt(_o)); _o++; }; } else { _renderTimer.stop(); _renderTimer.removeEventListener(TimerEvent.TIMER, _progressiveRender); dispatchModelEvent(FlowEvent.LEVEL_RENDERED); }; } private function _endTimer(e:TimerEvent=null):void{ var c:ContainerWarp; _fullTimer.removeEventListener(TimerEvent.TIMER, _endTimer); _completeTimer.stop(); _completeTimer.removeEventListener(Event.ENTER_FRAME, checkContainerLevels); for each (c in _containers.list) { c.stayFull(); }; _done(); } public function renderLevel(level:Level, transitionLength:Number=500):void{ _renderTimer = new Timer((transitionLength / (level.objects.length * 1.5))); _o = 0; _level = level; demoMode = !(level.randomize); _renderTimer.addEventListener(TimerEvent.TIMER, _progressiveRender); _renderTimer.start(); } public function addStreams(streamArray:Array):void{ var s:Stream; for each (s in streamArray) { addStream(s); }; } public function get objects():Cipher{ var _objects:Cipher = new Cipher(); _objects.concat(streams); _objects.concat(warps); return (_objects); } public function stopStreams():void{ var s:Stream; for each (s in streams.list) { if (s.on){ s.stop(); }; }; } public function get containers():Cipher{ return (_containers); } public function removeAll():void{ var myWarp:Warp; var numWarps:Number = _warps.length; var w:Number = 0; while (w < numWarps) { myWarp = _warps.remove(); if (myWarp){ removeWarp(myWarp); }; w++; }; var numStreams:Number = _streams.length; var s:Number = 0; while (s < numStreams) { removeStream(_streams.remove()); s++; }; _defaultStartingX = -1; } public function removeStream(s:Stream):Stream{ s.stop(); _streams.remove(s); _lastStreamRemoved = s; dispatchModelEvent(FlowEvent.STREAM_REMOVED); return (s); } public function get demoMode():Boolean{ return (_demoMode); } private function _done(e:Event=null):void{ if (_demoTimer.hasEventListener(TimerEvent.TIMER)){ _demoTimer.stop(); _demoTimer.removeEventListener(TimerEvent.TIMER, _done); dispatchModelEvent(FlowEvent.DEMO_MODE_COMPLETE); }; dispatchModelEvent(FlowEvent.LEVEL_COMPLETE); } public function checkContainerLevels(e:Event):void{ var levelsFull:Boolean; var c:ContainerWarp; if (_containers.length){ levelsFull = true; for each (c in _containers.list) { levelsFull = ((levelsFull) && (c.isFull)); }; if (tricycle.config.mode != Configuration.EDITOR_MODE){ if (levelsFull){ if (!_fullTimer.hasEventListener(TimerEvent.TIMER)){ _fullTimer.addEventListener(TimerEvent.TIMER, _endTimer); }; if (!_fullTimer.running){ _fullTimer.start(); }; } else { if (_fullTimer.running){ _fullTimer.reset(); }; if (_fullTimer.hasEventListener(TimerEvent.TIMER)){ _fullTimer.removeEventListener(TimerEvent.TIMER, _endTimer); }; }; }; }; } public function removeWarp(w:Warp):Warp{ var s:Stream; for each (s in _streams.list) { s.removeWarp(w); }; _warps.remove(w); _containers.remove(w); _controls.remove(w); _lastWarpRemoved = w; w.onRemove(); dispatchModelEvent(FlowEvent.WARP_REMOVED); return (w); } public function resume():void{ var s:Stream; var w:Warp; for each (s in streams.list) { s.resume(); }; for each (w in containers.list) { w.resume(); }; } public function pause():void{ var s:Stream; var w:Warp; for each (s in streams.list) { s.pause(); }; for each (w in containers.list) { w.pause(); }; } public function checkContainerDemoComplete(e:Event):void{ var c:ContainerWarp; var demoComplete:Boolean; for each (c in _containers.list) { demoComplete = ((demoComplete) && (c.demoComplete)); }; if (demoComplete){ _demoTimer.stop(); _demoTimer.removeEventListener(Event.ENTER_FRAME, checkContainerDemoComplete); dispatchModelEvent(FlowEvent.CONTAINER_DEMO_COMPLETE); }; } public function initWarp(w:Warp, params:Object):Warp{ var i:uint; w.init(params); if ((((((tricycle.config.mode == Configuration.GAME_MODE)) && (_level))) && (w.isControl))){ if (_defaultStartingX < 0){ _numControls = _level.numControls; _defaultStartingX = (((tricycle.stage.stageWidth - (((_numControls * _defaultRadius) * 2) + ((_numControls - 1) * _defaultSpacing))) / 2) + _defaultRadius); }; if (_defaultStartingY < 0){ _defaultStartingY = (tricycle.stage.stageHeight / 2); }; i = _controls.getIndexOf(w); w.x = (_defaultStartingX + ((i * _defaultRadius) * 2)); if (i > 0){ w.x = (w.x + (_defaultSpacing * i)); }; w.y = _defaultStartingY; w.radius = _defaultRadius; }; _lastWarpInitialized = w; dispatchModelEvent(FlowEvent.WARP_INIT); return (w); } public function get lastWarpInitialized():Warp{ return (_lastWarpInitialized); } public function clearLevel():void{ stopStreams(); _o = (objects.length - 1); _renderTimer.addEventListener(TimerEvent.TIMER, _progressiveClear); _renderTimer.start(); } public function newStream(params:Object=null):Stream{ var s:Stream = addStream(new Stream()); if (params){ initStream(s, params); }; return (s); } public function get lastStreamInitialized():Stream{ return (_lastStreamInitialized); } public function newWarp(ClassType:Class, params:Object=null):Warp{ var w:Warp = addWarp((new (ClassType) as Warp)); if (params){ initWarp(w, params); }; return (w); } public function addWarp(w:Warp):Warp{ var s:Stream; w.flowModel = this; _warps.add(w); if ((w is ContainerModifier)){ _containers.add(w); }; if (w.isControl){ _controls.add(w); }; for each (s in _streams.list) { s.addWarp(w); }; _lastWarpAdded = w; dispatchModelEvent(FlowEvent.WARP_ADDED); return ((w as Warp)); } public function addWarps(warpArray:Array):void{ var w:Warp; for each (w in warpArray) { addWarp(w); }; } public function set demoMode(mode:Boolean):void{ _demoMode = false; } public function startRemoveMode():void{ dispatchModelEvent(FlowEvent.REMOVE_ITEM_MODE); } public function startLevel():void{ startStreams(); if (demoMode){ _demoTimer.addEventListener(TimerEvent.TIMER, _done); _demoTimer.start(); } else { _completeTimer = new Timer(50); _completeTimer.addEventListener(TimerEvent.TIMER, checkContainerLevels); _completeTimer.start(); }; } public function initStream(s:Stream, params:Object):Stream{ s.init(params); _lastStreamInitialized = s; dispatchModelEvent(FlowEvent.STREAM_INIT); return (s); } public function startStreams():void{ var s:Stream; for each (s in streams.list) { if (!s.on){ s.start(); }; }; } public function get lastStreamRemoved():Stream{ return (_lastStreamRemoved); } public function get lastWarpRemoved():Warp{ return (_lastWarpRemoved); } public function get lastWarpAdded():Warp{ return (_lastWarpAdded); } public function removeObject(o){ if ((o is Warp)){ return (removeWarp((o as Warp))); }; if ((o is Stream)){ return (removeStream((o as Stream))); }; throw (new Error(("Object being removed must be a Warp or a Stream: " + o))); } public function get warps():Cipher{ return (_warps); } public function get lastStreamAdded():Stream{ return (_lastStreamAdded); } public function initObject(o, params:Object){ if ((o is Warp)){ return (initWarp((o as Warp), params)); }; if ((o is Stream)){ return (initStream((o as Stream), params)); }; throw (new Error("Object being initialized must be a Warp or a Stream")); } private function _progressiveClear(e:TimerEvent=null):void{ if (_o >= 0){ removeObject(objects.getAt(_o)); _o--; } else { _renderTimer.stop(); _renderTimer.removeEventListener(TimerEvent.TIMER, _progressiveClear); }; } public function get streams():Cipher{ return (_streams); } public function newObject(obj:Object){ if (("classType" in obj)){ return (newWarp(obj.classType, obj)); }; return (newStream(obj)); } public static function getClassFromName(warpName:String):Class{ return ((getDefinitionByName(("com.cipherprime.auditorium.models.flow.warps.modifiers." + warpName)) as Class)); } } }//package com.cipherprime.auditorium.models.flow
Section 49
//Particle (com.cipherprime.auditorium.models.flow.Particle) package com.cipherprime.auditorium.models.flow { import flash.geom.*; import com.cipherprime.euclid.*; public class Particle { public var vector:Vector; public var color:uint;// = 14540287 public var lx:Number;// = 0 public var ly:Number;// = 0 public var y:Number;// = 0 public var alpha:Number;// = 1 public var x:Number;// = 0 public function Particle(){ vector = new Vector(); super(); } public function get position():Point{ return (new Point(x, y)); } public function update():void{ lx = x; ly = y; x = (x + vector.x); y = (y + vector.y); } public function set position(value:Point):void{ x = value.x; y = value.y; } } }//package com.cipherprime.auditorium.models.flow
Section 50
//Stream (com.cipherprime.auditorium.models.flow.Stream) package com.cipherprime.auditorium.models.flow { import com.cipherprime.tricycle.*; import flash.events.*; import flash.utils.*; import com.cipherprime.utils.*; import com.cipherprime.auditorium.models.events.*; public class Stream { public var vx:Number; public var vy:Number; public var numParticles:Number;// = 0 public var totalParticles:Number; private var _updateInterval:uint;// = 33 public var flowModel:FlowModel; private var _particleTimer:Timer; public var noise:Number; private var tricycle:Tricycle; public var color:Number; private var _warps:Cipher; private var _particles:Cipher; public var x:Number; public var y:Number; private var _on:Boolean;// = false public function Stream(){ tricycle = Tricycle.getInstance(); super(); _warps = new Cipher(); _particles = new Cipher(); _particleTimer = new Timer(_updateInterval); } public function pause():void{ _particleTimer.stop(); } public function addWarps(... _args):void{ var w:Warp; for each (w in _args) { addWarp(w); }; } public function addWarp(w:Warp):void{ _warps.add(w); } public function init(params:Object):void{ x = (params.x) ? params.x : 0; y = (params.y) ? params.y : 0; vx = ((params.vx)!=null) ? params.vx : 10; vy = ((params.vy)!=null) ? params.vy : 10; noise = (params.noise) ? params.noise : 30; color = (params.color) ? params.color : 14540287; totalParticles = (params.totalParticles) ? params.totalParticles : 100; } public function stop():void{ _particleTimer.removeEventListener(TimerEvent.TIMER, generate); flowModel.dispatchModelEvent(FlowEvent.STREAM_STOPPED); } public function newParticle():void{ initParticle(new Particle()); } public function addParticle(p:Particle):void{ _particles.add(p); numParticles = _particles.list.length; } public function resetParticle():void{ _particles.killAt(0); newParticle(); } public function removeWarps(... _args):void{ var w:Warp; for each (w in _args) { removeWarp(w); }; } public function get particles():Cipher{ return (_particles); } public function start():void{ _particleTimer.addEventListener(TimerEvent.TIMER, generate); _particleTimer.addEventListener(TimerEvent.TIMER, update); _particleTimer.start(); _on = true; flowModel.dispatchModelEvent(FlowEvent.STREAM_STARTED); } public function update(e:TimerEvent):void{ var p:Particle; var w:Warp; for each (p in _particles.list) { p.update(); for each (w in _warps.list) { w.apply(p); }; tricycle.globalDrag.apply(p); }; flowModel.dispatchModelEvent(FlowEvent.FRAME_READY); } public function resume():void{ _particleTimer.start(); } public function initParticle(p:Particle):void{ p.x = x; p.y = y; p.vector.x = vx; p.vector.y = vy; p.color = color; if (noise){ p.x = (p.x + ((Math.random() - 0.5) * noise)); p.y = (p.y + ((Math.random() - 0.5) * noise)); }; addParticle(p); } public function generate(e:TimerEvent):void{ if ((numParticles < totalParticles)){ newParticle(); } else { resetParticle(); }; } public function get on():Boolean{ return (_on); } public function get warps():Cipher{ return (_warps); } public function removeWarp(w:Warp):void{ _warps.remove(w); } } }//package com.cipherprime.auditorium.models.flow
Section 51
//Warp (com.cipherprime.auditorium.models.flow.Warp) package com.cipherprime.auditorium.models.flow { import flash.geom.*; import com.cipherprime.euclid.*; public class Warp { public var strength:Number; public var name:String;// = "Warp" protected var _isControl:Boolean;// = false public var radius:Number; public var flowModel:FlowModel; public var mode:String;// = "omni" public var position:Point; protected var _isObstacle:Boolean;// = false public var type:Class; public static const MODE_LINEAR:String = "linear"; public static const MODE_OMNI:String = "omni"; public static const MODE_SPHERICAL:String = "spherical"; public function Warp(){ position = new Point(); super(); } public function onRemove():void{ } public function init(params:Object):void{ position.x = (params.x) ? params.x : 0; position.y = (params.y) ? params.y : 0; strength = (params.strength) ? params.strength : 4; radius = (params.radius) ? params.radius : -1; mode = (params.mode) ? params.mode : MODE_OMNI; } public function get isControl():Boolean{ return (_isControl); } public function get properties():Object{ return ({x:x, y:y, strength:strength, radius:radius, mode:mode}); } public function inRange(p:Particle):Boolean{ return ((((radius <= 0)) || ((Calc.dist(position.x, position.y, p.x, p.y) <= radius)))); } public function get isObstacle():Boolean{ return (_isObstacle); } public function resume():void{ } public function apply(p:Particle):void{ } public function set y(value:Number):void{ position.y = value; } public function pause():void{ } public function set x(value:Number):void{ position.x = value; } public function get y():Number{ return (position.y); } public function get x():Number{ return (position.x); } } }//package com.cipherprime.auditorium.models.flow
Section 52
//GameModel (com.cipherprime.auditorium.models.game.GameModel) package com.cipherprime.auditorium.models.game { import com.cipherprime.tricycle.model.*; import com.cipherprime.auditorium.models.flow.warps.*; import com.cipherprime.auditorium.models.events.*; public class GameModel extends Model { public function GameModel(){ super(); } public function startGame():void{ sendToModels(GlobalEvent.START); sendToModels(GameEvent.START_GAME); tricycle.globalDrag = new DragWarp(); tricycle.globalDrag.init({strength:0.97}); } public function loadIntro():void{ dispatchModelEvent(GameEvent.LOAD_INTRO); } public function continueGame():void{ dispatchModelEvent(GameEvent.CONTINUE_GAME); } public function startIntro():void{ dispatchModelEvent(GameEvent.START_INTRO); } public function end():void{ sendToModels(GameEvent.END_GAME); } public function sendToModels(event:String):void{ tricycle.flowModel.dispatchModelEvent(event); tricycle.audioModel.dispatchModelEvent(event); tricycle.actModel.dispatchModelEvent(event); tricycle.levelModel.dispatchModelEvent(event); tricycle.gameModel.dispatchModelEvent(event); } public function resumeGame():void{ tricycle.actModel.resumeAct(); tricycle.levelModel.resumeLevel(); startGame(); } } }//package com.cipherprime.auditorium.models.game
Section 53
//Level (com.cipherprime.auditorium.models.level.Level) package com.cipherprime.auditorium.models.level { import com.cipherprime.tricycle.model.*; import com.cipherprime.auditorium.models.flow.*; import com.cipherprime.utils.*; import com.cipherprime.tricycle.utils.helpers.*; import com.cipherprime.auditorium.models.flow.warps.modifiers.*; import com.cipherprime.auditorium.models.xml.parsers.*; public class Level { public var useIntroTiming:Boolean;// = true public var nextLevel:String; private var _controls:Cipher; private var _file:XmlHelper; private var _numControls:Number;// = 0 public var model:Model; private var _warps:Cipher; public var url:String; public var randomize:Boolean;// = true private var _streams:Cipher; public static var PAUSE_RENDER:String = "PauseRender"; public function Level(){ super(); _streams = new Cipher(); _warps = new Cipher(); _controls = new Cipher(); } public function addWarp(params:Object):void{ var w:Warp = new params.classType(); if (w.isControl){ _numControls++; _controls.add(params); } else { _warps.add(params); }; } public function get streams():Cipher{ return (_streams); } public function init(params:Object):void{ url = params.url; } public function get objects():Cipher{ var objects:Cipher = new Cipher(); objects.concat(_controls); objects.add(Level.PAUSE_RENDER); objects.concat(_warps); objects.concat(_streams); return (objects); } public function get numControls():Number{ return (_numControls); } public function settings(params:Object):void{ nextLevel = params.nextLevel; useIntroTiming = !((params.useIntroTiming == "false")); randomize = !((params.randomize == "false")); } public function load():void{ _file = new XmlHelper(url); _file.noCache = true; _file.onLoad = parse; _file.load(); } public function get warps():Cipher{ return (_warps); } public function parse():void{ var lXml:XML; var sXml:XML; var wXml:XML; for each (lXml in _file.xml.level) { settings(LevelParser.decode(lXml)); }; for each (sXml in _file.xml.streams.stream) { _streams.add(StreamParser.decode(sXml)); }; for each (wXml in _file.xml.warps.warp) { addWarp(WarpParser.decode(wXml)); }; model.levelReady(this); } public function get numContainers():Number{ var warp:Object; var num:Number = 0; for each (warp in _warps.list) { if (warp.classType == ContainerModifier){ num++; }; }; return (num); } } }//package com.cipherprime.auditorium.models.level
Section 54
//LevelModel (com.cipherprime.auditorium.models.level.LevelModel) package com.cipherprime.auditorium.models.level { import com.cipherprime.tricycle.model.*; import flash.net.*; import com.cipherprime.auditorium.models.events.*; public class LevelModel extends CrudModel { private var _sharedObject:SharedObject; public var demoMode:Boolean;// = false private var _currentLevelNumber:Number;// = 0 public function LevelModel(){ super(); _ChildClass = Level; _sharedObject = SharedObject.getLocal("lastLevel"); } public function loadNextLevel():void{ if (_currentLevelNumber < (children.length - 1)){ _currentLevelNumber++; _sharedObject.data.level = _currentLevelNumber; currentLevel.load(); } else { _currentLevelNumber = 0; removeAllChildren(); dispatchModelEvent(LevelEvent.LEVELS_COMPLETE); }; } override public function initChild(child, params:Object){ demoMode = !((params.randomize == "false")); return (super.initChild(child, params)); } public function loadCurrentLevel():void{ _sharedObject.data.level = _currentLevelNumber; currentLevel.load(); } public function get currentLevel():Level{ return (children.getAt(_currentLevelNumber)); } public function get currentLevelNumber():Number{ return (_currentLevelNumber); } public function resumeLevel():void{ _currentLevelNumber = _sharedObject.data.level; } public function get nextLevel():Level{ return (children.getAt(_currentLevelNumber++)); } public function levelReady(l:Level):void{ _lastChildModified = l; dispatchModelEvent(LevelEvent.LEVEL_READY); } } }//package com.cipherprime.auditorium.models.level
Section 55
//ActParser (com.cipherprime.auditorium.models.xml.parsers.ActParser) package com.cipherprime.auditorium.models.xml.parsers { import com.cipherprime.utils.*; public class ActParser { public function ActParser(){ super(); } public static function decode(aXml:XML):Object{ var song:Object; var lXml:XML; var sXml:XML; var levels:Cipher = new Cipher(); for each (lXml in aXml.levels.level) { levels.add({url:lXml.@url}); }; for each (sXml in aXml.audio.song) { song = SongParser.decode(sXml); }; return ({levels:levels, song:song, title:aXml.@title}); } } }//package com.cipherprime.auditorium.models.xml.parsers
Section 56
//LevelParser (com.cipherprime.auditorium.models.xml.parsers.LevelParser) package com.cipherprime.auditorium.models.xml.parsers { public class LevelParser { public function LevelParser(){ super(); } public static function decode(xml:XML):Object{ return ({name:xml.@name, nextLevel:xml.next.@url, useIntroTiming:xml.useIntroTiming, randomize:xml.randomize}); } public static function encode(o:Object):XML{ var xml:XML = new XML(<level></level> ); xml.@name = o.name; xml.next.@url = o.nextLevel; return (xml); } } }//package com.cipherprime.auditorium.models.xml.parsers
Section 57
//SongParser (com.cipherprime.auditorium.models.xml.parsers.SongParser) package com.cipherprime.auditorium.models.xml.parsers { import com.cipherprime.tricycle.utils.helpers.*; public class SongParser { public function SongParser(){ super(); } public static function decode(xml:XML):Object{ var tXml:XML; var tracks:Array = new Array(); for each (tXml in xml.track) { tracks.push(tXml.@url); }; return ({tracks:tracks}); } public static function encode(o:Object):XML{ var t:AudioHelper; var tXml:XML; var xml:XML = new XML(<song></song> ); for each (t in o.tracks.list) { tXml = new XML(<track/> ); tXml.@url = t.url; xml.appendChild(tXml); }; return (xml); } } }//package com.cipherprime.auditorium.models.xml.parsers
Section 58
//StreamParser (com.cipherprime.auditorium.models.xml.parsers.StreamParser) package com.cipherprime.auditorium.models.xml.parsers { import com.cipherprime.utils.*; public class StreamParser { public function StreamParser(){ super(); } public static function decode(xml:XML):Object{ return ({x:Convert.stringToPoint(xml.position).x, y:Convert.stringToPoint(xml.position).y, vx:Convert.stringToPoint(xml.vector).x, vy:Convert.stringToPoint(xml.vector).y, noise:xml.noise, color:xml.color, totalParticles:xml.totalParticles}); } public static function encode(o:Object):XML{ var xml:XML = new XML(<stream></stream> ); xml.position = ((o.x + ", ") + o.y); xml.vector = ((o.vx + ", ") + o.vy); xml.noise = o.noise; xml.color = o.color; xml.totalParticles = o.totalParticles; return (xml); } } }//package com.cipherprime.auditorium.models.xml.parsers
Section 59
//WarpParser (com.cipherprime.auditorium.models.xml.parsers.WarpParser) package com.cipherprime.auditorium.models.xml.parsers { import com.cipherprime.auditorium.models.flow.*; import com.cipherprime.utils.*; import com.cipherprime.auditorium.models.flow.warps.modifiers.*; import com.cipherprime.auditorium.models.flow.warps.*; public class WarpParser { public function WarpParser(){ super(); } public static function decode(xml:XML):Object{ var warpParams:Object; var colors:Array; var cXml:XML; var entrance:Object; var exit:Object; var WarpClass:Class = FlowModel.getClassFromName(xml.@type); warpParams = {classType:WarpClass, x:Convert.stringToPoint(xml.position).x, y:Convert.stringToPoint(xml.position).y, radius:xml.radius, strength:xml.strength, mode:xml.mode}; if (xml.color){ colors = new Array(); for each (cXml in xml.color) { colors.push(cXml); }; warpParams.colors = colors; }; if (xml.entrance){ entrance = {x:Convert.stringToPoint(xml.entrance.position).x, y:Convert.stringToPoint(xml.entrance.position).y, radius:xml.entrance.radius}; warpParams.entrance = entrance; }; if (xml.exit){ exit = {x:Convert.stringToPoint(xml.exit.position).x, y:Convert.stringToPoint(xml.exit.position).y, radius:xml.exit.radius}; warpParams.exit = exit; }; return (warpParams); } public static function encode(o:Object):XML{ var c:uint; var xml:XML = new XML(<warp></warp> ); if ((o is PortalWarp)){ xml.entrance.position = ((o.entrance.x + ", ") + o.entrance.y); xml.entrance.radius = o.entrance.radius; xml.exit.position = ((o.exit.x + ", ") + o.exit.y); xml.exit.radius = o.exit.radius; } else { xml.position = ((o.x + ", ") + o.y); xml.radius = o.radius; xml.strength = o.strength; xml.mode = o.mode; if (("colors" in o)){ for each (c in o.colors) { xml.* = (xml.* + new XML((("<color>" + ??esc_xelem ) + "</color>"))); }; }; }; xml.@type = Convert.objectToClassName(o); return (xml); } } }//package com.cipherprime.auditorium.models.xml.parsers
Section 60
//XmlModel (com.cipherprime.auditorium.models.xml.XmlModel) package com.cipherprime.auditorium.models.xml { import com.cipherprime.tricycle.*; import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.auditorium.models.flow.*; import com.cipherprime.utils.*; import com.cipherprime.auditorium.models.audio.*; import flash.net.*; import com.cipherprime.auditorium.models.flow.warps.*; import com.cipherprime.auditorium.views.item.type.types.*; import com.cipherprime.auditorium.models.xml.parsers.*; public class XmlModel extends Model { public function XmlModel(){ super(); } public function status(text:String, delay:Number=0):void{ Tricycle.getInstance().editorModel.status(text, delay); } public function saveXml(name:String=""):void{ var song:Song; var s:Stream; var obstacles:Cipher; var goals:Cipher; var controls:Cipher; var w:Warp; var request:URLRequest; var loader:URLLoader; var test:Object; var xml:XML = new XML(<data/> ); var levelXml:XML = new XML(<level></level> ); var streamXml:XML = new XML(<streams></streams> ); var warpXml:XML = new XML(<warps></warps> ); var audioXml:XML = new XML(<audio></audio> ); xml.appendChild(levelXml); xml.appendChild(audioXml); xml.appendChild(streamXml); xml.appendChild(warpXml); levelXml.randomize = !(tricycle.levelModel.demoMode); name = ((name.substring((name.length - 4)) == ".xml")) ? name : (name + ".xml"); if (name == ".xml"){ name = (("level" + new Date().time) + ".xml"); }; tricycle.editorView.currentLevelName = name; for each (song in tricycle.audioModel.children.list) { audioXml.appendChild(SongParser.encode(song)); }; for each (s in tricycle.flowModel.streams.list) { streamXml.appendChild(StreamParser.encode(s)); }; obstacles = new Cipher(); goals = new Cipher(); controls = new Cipher(); for each (w in tricycle.flowModel.warps.list) { if (((!((w is PortalEntranceWarp))) || (!((w is PortalExitWarp))))){ test = new w.type(); if ((test is Obstacle)){ obstacles.add(w); } else { if ((test is Goal)){ goals.add(w); } else { if ((test is Control)){ controls.add(w); }; }; }; }; }; for each (w in obstacles.list) { warpXml.appendChild(WarpParser.encode(w)); }; for each (w in goals.list) { warpXml.appendChild(WarpParser.encode(w)); }; for each (w in controls.list) { warpXml.appendChild(WarpParser.encode(w)); }; request = new URLRequest(((tricycle.config.urls.editor + "savelevel.php?name=") + name)); request.data = xml; request.contentType = "text/xml"; request.method = URLRequestMethod.POST; loader = new URLLoader(); status((("Saving " + name) + "...")); loader.addEventListener(Event.COMPLETE, _onSaveComplete, false, 0, true); loader.addEventListener(IOErrorEvent.IO_ERROR, _onSaveIOError, false, 0, true); loader.load(request); } private function _onSaveComplete(e:Event=null):void{ status("Save Complete", 3000); } private function _onSaveIOError(e:IOErrorEvent=null):void{ status(("Error saving level: " + e.text), 3000); } } }//package com.cipherprime.auditorium.models.xml
Section 61
//EditorRouter (com.cipherprime.auditorium.routers.EditorRouter) package com.cipherprime.auditorium.routers { import flash.display.*; import com.cipherprime.utils.*; import com.cipherprime.auditorium.models.flow.warps.*; import com.cipherprime.tricycle.router.*; public class EditorRouter extends Router { public var defaultSettings:Object; public var myMenu:Menu; public var menuHolder:Sprite; public function EditorRouter(){ super(); addModels(tricycle.editorModel, tricycle.flowModel, tricycle.audioModel, tricycle.levelModel); } public function event_AudioModel_SongLoadProgress():void{ tricycle.editorView.showSongLoadProgress(); } public function event_LevelModel_ChildInitialized():void{ tricycle.gameController.loadLevel(); } public function event_FlowModel_WarpRemoved():void{ if (((tricycle.audioModel.currentSong) && ((tricycle.flowModel.lastWarpRemoved is ContainerWarp)))){ tricycle.audioController.unlinkAudio(); tricycle.audioController.linkAudio(); }; } public function event_FlowModel_LevelRendered():void{ tricycle.gameController.startLevel(); } public function event_LevelModel_LevelReady():void{ tricycle.gameController.renderLevel(); } public function event_EditorModel_Start():void{ tricycle.editorController.init(); } public function event_FlowModel_WarpAdded():void{ if (((tricycle.audioModel.currentSong) && ((tricycle.flowModel.lastWarpAdded is ContainerWarp)))){ tricycle.audioController.unlinkAudio(); tricycle.audioController.linkAudio(); }; } } }//package com.cipherprime.auditorium.routers
Section 62
//GameRouter (com.cipherprime.auditorium.routers.GameRouter) package com.cipherprime.auditorium.routers { import flash.events.*; import com.cipherprime.tricycle.model.*; import flash.utils.*; import com.cipherprime.tricycle.router.*; public class GameRouter extends Router { private var _renderLevelTimer:Timer; public function GameRouter(){ _renderLevelTimer = new Timer(30); super(); addModels(tricycle.actModel, tricycle.audioModel, tricycle.flowModel, tricycle.gameModel, tricycle.levelModel); } public function event_GameModel_EndGame():void{ var m:Model; for each (m in models) { if (("removeAll" in m)){ var _local4 = m; _local4["removeAll"](); }; }; } public function event_FlowModel_LevelComplete():void{ tricycle.gameController.transitionLevel(); } public function event_LevelModel_LevelReady():void{ tricycle.audioController.loadLevel(); } public function event_ActModel_ActComplete():void{ tricycle.gameModel.end(); } public function event_GameModel_ResumeGame():void{ tricycle.gameController.resume(); } public function event_AudioModel_SongLoadProgress():void{ tricycle.actView.updateSongLoadProgress(tricycle.audioModel.currentSong.percentLoaded); } public function event_FlowModel_LevelRendered():void{ tricycle.gameController.startLevel(); } public function event_ActModel_ActStarted():void{ tricycle.actView.updateLevelIndicator(tricycle.levelModel.currentLevelNumber); tricycle.audioController.startAct(); } public function event_AudioModel_TracksLoaded():void{ _renderLevelTimer.addEventListener(TimerEvent.TIMER, _renderLevel); _renderLevelTimer.start(); } public function event_GameModel_Start():void{ tricycle.gameController.init(); } public function event_FlowModel_DemoModeComplete():void{ tricycle.layersView.hideDemoClip(); } public function event_FlowModel_DemoModeStart():void{ tricycle.layersView.showDemoClip(); } public function event_GameModel_PauseGame():void{ tricycle.gameController.pause(); } public function event_ActModel_ActIntro():void{ tricycle.audioController.renderAct(); tricycle.gameController.loadLevel(); } private function _renderLevel(e:TimerEvent=null):void{ if (tricycle.actModel.started){ tricycle.gameController.renderLevel(); tricycle.actView.updateLevelIndicator(tricycle.levelModel.currentLevelNumber); _renderLevelTimer.removeEventListener(TimerEvent.TIMER, _renderLevel); _renderLevelTimer.reset(); }; } public function event_LevelModel_LevelsComplete():void{ tricycle.actController.nextAct(); } } }//package com.cipherprime.auditorium.routers
Section 63
//TrackingRouter (com.cipherprime.auditorium.routers.TrackingRouter) package com.cipherprime.auditorium.routers { import flash.events.*; import flash.utils.*; import com.cipherprime.tricycle.utils.helpers.*; import com.cipherprime.tricycle.router.*; public class TrackingRouter extends Router { private var _updateGameTimeFile:XmlHelper; private var _gameTimeTimer:Timer; private var _createGameFile:XmlHelper; private var _gameId:Number; private var _serverUrl:String;// = "http://www.playauditorium.com/" private var _updateGameFile:XmlHelper; public static const EVENT_GAME_FINISHED:Number = 2; public static const EVENT_LEVEL_FINISHED:Number = 3; public static const EVENT_GAME_TIME:Number = 5; public static const EVENT_GAME_START:Number = 1; public static const EVENT_ACT_FINISHED:Number = 4; public function TrackingRouter(){ _gameTimeTimer = new Timer(20000); super(); addModels(tricycle.actModel, tricycle.audioModel, tricycle.levelModel, tricycle.flowModel, tricycle.gameModel); _createGameFile = new XmlHelper((_serverUrl + "creategame.php")); _updateGameFile = new XmlHelper((_serverUrl + "updategame.php")); _updateGameFile.noCache = true; _updateGameTimeFile = new XmlHelper((_serverUrl + "updategametime.php")); _updateGameTimeFile.noCache = true; } public function event_GameModel_EndGame():void{ _updateGameFile.request = {game_id:_gameId, event_id:EVENT_GAME_FINISHED}; _updateGameFile.load(); _gameTimeTimer.removeEventListener(TimerEvent.TIMER, _updateGameTimer); _gameTimeTimer.reset(); } private function _getGameId():void{ _gameId = _createGameFile.xml.@id; _updateGameFile.request = {game_id:_gameId, event_id:EVENT_GAME_START}; _updateGameFile.load(); } private function _updateGameTimer(e:Event=null):void{ _updateGameTimeFile.request = {game_id:_gameId}; _updateGameTimeFile.load(); } public function event_FlowModel_LevelComplete():void{ _updateGameFile.request = {game_id:_gameId, event_id:EVENT_LEVEL_FINISHED}; _updateGameFile.load(); } public function event_LevelModel_LevelsComplete():void{ _updateGameFile.request = {game_id:_gameId, event_id:EVENT_ACT_FINISHED}; _updateGameFile.load(); } public function event_GameModel_StartGame():void{ _createGameFile.onLoad = _getGameId; _createGameFile.load(); _gameTimeTimer.addEventListener(TimerEvent.TIMER, _updateGameTimer); _gameTimeTimer.start(); } } }//package com.cipherprime.auditorium.routers
Section 64
//Directional (com.cipherprime.auditorium.views.item.element.elements.Directional) package com.cipherprime.auditorium.views.item.element.elements { import flash.events.*; import flash.display.*; import com.cipherprime.auditorium.views.item.*; import com.cipherprime.auditorium.views.item.element.*; import flash.ui.*; public class Directional extends Element { private var _Directional:Class; private var _isPressable:Boolean;// = false private var _vectorOffset:Number;// = 8 private var _vx:Number;// = 0 private var _vy:Number;// = 0 private var _hitDistance:Number;// = 13 private var _xOffset:Number; private var _yOffset:Number; public function Directional(base:Item=null){ _Directional = Directional__Directional; super(base); _clip = new _Directional(); } override public function create(clip:DisplayObjectContainer=null):void{ tricycle.layers.foreground.addChild(_clip); } private function _updateRotation():void{ var angle:Number = Math.atan2((_vy * _vectorOffset), (_vx * _vectorOffset)); var rTo:Number = ((angle * 180) / Math.PI); _clip["pointer"].rotation = rTo; } private function _release(e:MouseEvent=null):void{ if (base.pressedElement == this){ base.pressedElement = null; }; Mouse.show(); } public function get vx():Number{ return (_vx); } public function get vy():Number{ return (_vy); } private function _press(e:MouseEvent=null):void{ if ((((_isPressable == true)) && ((base.pressedElement == null)))){ base.pressedElement = this; Mouse.hide(); _xOffset = _clip["pointer"].mouseX; _yOffset = _clip["pointer"].mouseY; }; } override protected function _updateIsMoveable():void{ if (isMoveable == true){ _on(); } else { _off(); }; } public function set vy(num:Number):void{ _vy = num; } override public function remove():void{ tricycle.layers.foreground.removeChild(_clip); } public function set vx(num:Number):void{ _vx = num; } private function _update(e:Event=null):void{ _updateDistance(); _updateDrag(); _updatePosition(); _updateRotation(); } private function _off():void{ base.stage.removeEventListener(MouseEvent.MOUSE_DOWN, _press); base.stage.removeEventListener(MouseEvent.MOUSE_UP, _release); base.stage.removeEventListener(Event.ENTER_FRAME, _update); } private function _updatePosition():void{ _clip["pointer"].x = (_vx * _vectorOffset); _clip["pointer"].y = (_vy * _vectorOffset); } override protected function _updateIsEnabled():void{ } private function _updateDrag():void{ if (base.pressedElement == this){ base.vx = ((_clip.mouseX - _xOffset) / _vectorOffset); base.vy = ((_clip.mouseY - _yOffset) / _vectorOffset); }; } private function _updateDistance():void{ var dx:Number = (_clip.mouseX - _clip["pointer"].x); var dy:Number = (_clip.mouseY - _clip["pointer"].y); var distance:Number = Math.sqrt(((dx * dx) + (dy * dy))); if ((((distance <= _hitDistance)) && ((base.pressedElement == null)))){ _isPressable = true; } else { _isPressable = false; }; } private function _on():void{ base.stage.addEventListener(MouseEvent.MOUSE_DOWN, _press); base.stage.addEventListener(MouseEvent.MOUSE_UP, _release); base.stage.addEventListener(Event.ENTER_FRAME, _update); } } }//package com.cipherprime.auditorium.views.item.element.elements
Section 65
//Directional__Directional (com.cipherprime.auditorium.views.item.element.elements.Directional__Directional) package com.cipherprime.auditorium.views.item.element.elements { import flash.display.*; import mx.core.*; public class Directional__Directional extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_6:DisplayObject; public var led_8:DisplayObject; public var led_1:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var led_28:DisplayObject; public var loader:DisplayObject; public var led_2:DisplayObject; public var handle:DisplayObject; public var border:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var pointer:DisplayObject; public var glair:DisplayObject; public var dialog:DisplayObject; public var title:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_05:DisplayObject; public var wedge_06:DisplayObject; public var container:DisplayObject; public var fill:DisplayObject; public var animation:DisplayObject; public var arrows:DisplayObject; public var act:DisplayObject; public var pulse:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var led_16:DisplayObject; public var led_17:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_20:DisplayObject; public var led_21:DisplayObject; public var led_22:DisplayObject; public var led_23:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_24:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.element.elements
Section 66
//Highlight (com.cipherprime.auditorium.views.item.element.elements.Highlight) package com.cipherprime.auditorium.views.item.element.elements { import flash.display.*; import com.cipherprime.auditorium.views.item.*; import com.cipherprime.auditorium.views.item.element.*; public class Highlight extends Element { public function Highlight(base:Item=null){ super(base); } override public function create(clip:DisplayObjectContainer=null):void{ if (clip == null){ throw (new Error("Highlight class must have a specified clip:MovieClip in create()")); }; _clip = clip; tricycle.layers.foreground.addChild(_clip); } override public function remove():void{ tricycle.layers.foreground.removeChild(_clip); } } }//package com.cipherprime.auditorium.views.item.element.elements
Section 67
//Icon (com.cipherprime.auditorium.views.item.element.elements.Icon) package com.cipherprime.auditorium.views.item.element.elements { import flash.display.*; import com.cipherprime.auditorium.views.item.*; import com.cipherprime.auditorium.views.item.element.*; import com.cipherprime.auditorium.views.item.type.*; public class Icon extends Element { private var _hasContainer:Boolean; private var _objectAddedTo:DisplayObjectContainer; public function Icon(base:Item=null){ super(base); } override public function set x(num:Number):void{ if (hasContainer == false){ super.x = num; }; } override public function set y(num:Number):void{ if (hasContainer == false){ super.y = num; }; } override public function remove():void{ _objectAddedTo.removeChild(_clip); } public function get hasContainer():Boolean{ return (_hasContainer); } override public function create(clip:DisplayObjectContainer=null):void{ if (clip == null){ throw (new Error("Icon class must have a specified clip:MovieClip in create()")); }; _clip = clip; var itemType:ItemType = (base as ItemType); if (itemType.IconContainerObject != null){ _objectAddedTo = itemType.IconContainerObject.clip["container"]; _hasContainer = true; } else { _objectAddedTo = (tricycle.layers.background as DisplayObjectContainer); _hasContainer = false; }; _objectAddedTo.addChild(_clip); } } }//package com.cipherprime.auditorium.views.item.element.elements
Section 68
//IconContainer (com.cipherprime.auditorium.views.item.element.elements.IconContainer) package com.cipherprime.auditorium.views.item.element.elements { import flash.display.*; import com.cipherprime.auditorium.views.item.*; import com.cipherprime.auditorium.views.item.element.*; import com.gs.*; public class IconContainer extends Element { private var _IconContainer:Class; private var _frameRate:Number;// = 30 public function IconContainer(base:Item=null){ _IconContainer = IconContainer__IconContainer; super(base); _clip = new _IconContainer(); } private function _off():void{ _tweenFrame("start"); } private function _tweenFrame(labelName:String):void{ var frame:int = _getFrameByLabel(labelName); var frameTime:Number = (Math.abs((_clip["currentFrame"] - frame)) / _frameRate); if (frame != -1){ TweenLite.killTweensOf(this, false); TweenLite.to(_clip, frameTime, {frame:frame, ease:null}); }; } override public function remove():void{ tricycle.layers.foreground.removeChild(_clip); } private function _on():void{ _tweenFrame("end"); } private function _getFrameByLabel(labelName:String):int{ var label:FrameLabel; var labels:Array = _clip["currentLabels"]; var i:uint; while (i < labels.length) { label = labels[i]; if (label.name.toLowerCase() == labelName.toLowerCase()){ return (label.frame); }; i++; }; return (-1); } override public function create(clip:DisplayObjectContainer=null):void{ tricycle.layers.foreground.addChild(_clip); } override protected function _updateIsEnabled():void{ if (isEnabled == true){ _on(); } else { _off(); }; } } }//package com.cipherprime.auditorium.views.item.element.elements
Section 69
//IconContainer__IconContainer (com.cipherprime.auditorium.views.item.element.elements.IconContainer__IconContainer) package com.cipherprime.auditorium.views.item.element.elements { import flash.display.*; import mx.core.*; public class IconContainer__IconContainer extends MovieClipAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_6:DisplayObject; public var led_8:DisplayObject; public var led_1:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var loader:DisplayObject; public var led_2:DisplayObject; public var led_29:DisplayObject; public var handle:DisplayObject; public var border:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var glair:DisplayObject; public var dialog:DisplayObject; public var title:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_05:DisplayObject; public var wedge_06:DisplayObject; public var container:DisplayObject; public var fill:DisplayObject; public var animation:DisplayObject; public var arrows:DisplayObject; public var act:DisplayObject; public var pulse:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var led_16:DisplayObject; public var led_17:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_20:DisplayObject; public var led_21:DisplayObject; public var led_23:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_28:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.element.elements
Section 70
//Moveable (com.cipherprime.auditorium.views.item.element.elements.Moveable) package com.cipherprime.auditorium.views.item.element.elements { import flash.events.*; import flash.display.*; import com.cipherprime.auditorium.views.item.*; import com.cipherprime.auditorium.views.item.element.*; import com.gs.*; import flash.ui.*; import com.gs.easing.*; public class Moveable extends Element { private var _scaleOn:Number;// = 1 private var _alphaOff:Number;// = 0 private var _currentTween:String;// = "none" private var _isPressed:Boolean;// = false private var _alphaOn:Number;// = 1 private var _scaleOff:Number;// = 0.2 private var _Moveable:Class; private var _yOffset:Number; private var _scaleDurationOn:Number;// = 0.2 private var _alphaFlash:Number;// = 0.4 private var _alphaDurationOn:Number;// = 0.8 private var _isPressable:Boolean;// = false private var _alphaDurationOff:Number;// = 0.8 private var _hitDistance:Number;// = 25 private var _xOffset:Number; private var _scaleDurationOff:Number;// = 0.9 public function Moveable(base:Item=null){ _Moveable = Moveable__Moveable; super(base); _clip = new _Moveable(); _init(); } override public function create(clip:DisplayObjectContainer=null):void{ tricycle.layers.foreground.addChild(_clip); } private function _updateDistance():void{ if ((((mouseDistance <= _hitDistance)) && ((base.pressedElement == null)))){ _isPressable = true; _fadeIn(); } else { _isPressable = false; _fadeOut(); }; } override public function remove():void{ tricycle.layers.foreground.removeChild(_clip); } private function _animationStop():void{ _clip["arrows"].stop(); } override protected function _updateIsEnabled():void{ if (isEnabled == true){ _on(); _updateIsMoveable(); } else { _off(); _offMoveable(); }; } private function _off():void{ _offMoveable(); } private function _updateDrag():void{ var targetX:Number; var targetY:Number; if (base.pressedElement == this){ targetX = (_clip["parent"].mouseX - _xOffset); targetY = (_clip["parent"].mouseY - _yOffset); if (targetX >= (_clip.stage.stageWidth - 1)){ targetX = (_clip.stage.stageWidth - 1); } else { if (targetX <= 1){ targetX = 1; }; }; if (targetY >= (_clip.stage.stageHeight - 1)){ targetY = (_clip.stage.stageHeight - 1); } else { if (targetY <= 1){ targetY = 1; }; }; base.x = targetX; base.y = targetY; }; } private function _press(e:MouseEvent=null):void{ if ((((_isPressable == true)) && ((base.pressedElement == null)))){ _xOffset = (_clip.mouseX * _clip.scaleX); _yOffset = (_clip.mouseY * _clip.scaleY); base.pressedElement = this; Mouse.hide(); }; } private function _onMoveable():void{ base.stage.addEventListener(MouseEvent.MOUSE_DOWN, _press); base.stage.addEventListener(MouseEvent.MOUSE_UP, _release); base.stage.addEventListener(Event.ENTER_FRAME, _update); } private function _animationReset():void{ _clip["arrows"].gotoAndStop(1); } private function _release(e:MouseEvent=null):void{ if (base.pressedElement == this){ base.pressedElement = null; }; Mouse.show(); } private function _animationStart():void{ _clip["arrows"].play(); } private function _fadeIn():void{ if (_currentTween != "fadeIn"){ TweenLite.to(_clip, _scaleDurationOn, {scaleX:_scaleOn, scaleY:_scaleOn, ease:Bounce.easeOut, onComplete:_animationStart}); TweenLite.to(_clip["arrows"], _alphaDurationOn, {autoAlpha:1}); _currentTween = "fadeIn"; }; } private function _update(e:Event=null):void{ _updateDistance(); _updateDrag(); } private function _init():void{ _clip["arrows"].alpha = 0; _clip.scaleX = (_clip.scaleY = _scaleOff); _animationReset(); } private function _fadeOut():void{ if (_currentTween != "fadeOut"){ _animationStop(); TweenLite.to(_clip, _scaleDurationOff, {scaleX:_scaleOff, scaleY:_scaleOff}); TweenLite.to(_clip["arrows"], _alphaDurationOff, {autoAlpha:0}); _currentTween = "fadeOut"; }; } private function _offMoveable():void{ base.stage.removeEventListener(MouseEvent.MOUSE_DOWN, _press); base.stage.removeEventListener(MouseEvent.MOUSE_UP, _release); base.stage.removeEventListener(Event.ENTER_FRAME, _update); _release(); } override protected function _updateIsMoveable():void{ if (isMoveable == true){ _onMoveable(); } else { _offMoveable(); }; } private function _on():void{ } } }//package com.cipherprime.auditorium.views.item.element.elements
Section 71
//Moveable__Moveable (com.cipherprime.auditorium.views.item.element.elements.Moveable__Moveable) package com.cipherprime.auditorium.views.item.element.elements { import flash.display.*; import mx.core.*; public class Moveable__Moveable extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var animation:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var loader:DisplayObject; public var arrows:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.element.elements
Section 72
//Radius (com.cipherprime.auditorium.views.item.element.elements.Radius) package com.cipherprime.auditorium.views.item.element.elements { import flash.events.*; import flash.display.*; import com.cipherprime.auditorium.views.item.*; import com.cipherprime.auditorium.views.item.element.*; import com.gs.*; import flash.ui.*; import com.gs.easing.*; public class Radius extends Element { private var _isSelected:Boolean;// = false private var _alphaFlashDuration:Number;// = 0.4 public var tempRadius:Number;// = 0 private var _tintDuration:Number;// = 0.3 private var _alphaOff:Number;// = 0.2 private var _alphaDuration:Number;// = 0.3 private var _moveAccel:Number;// = 0.7 private var _alphaOn:Number;// = 0.1 private var _showBorder:Boolean;// = true private var _yOffset:Number;// = 0 private var _isFadeable:Boolean;// = true private var _rTo:Number;// = 0 private var _alphaFlash:Number;// = 0.4 private var _Radius:Class; private var _tint:Number;// = 0xFFFFFF private var _baseOffset:Number;// = 0 private var _ignoreRadius:Number;// = 25 private var _xOffset:Number;// = 0 public function Radius(base:Item=null){ _Radius = Radius__Radius; super(base); _clip = new _Radius(); _init(); } private function _updateRotation():void{ var angle:Number; var xTo:Number; var yTo:Number; var rTo:Number; if (isSizeable == true){ angle = Math.atan2(_clip.mouseY, _clip.mouseX); xTo = (base.radius * Math.cos(angle)); yTo = (base.radius * Math.sin(angle)); rTo = ((angle * 180) / Math.PI); if (_clip["handle"]){ _clip["handle"].rotation = rTo; _clip["handle"].x = xTo; _clip["handle"].y = yTo; }; }; } public function get showBorder():Boolean{ return (_showBorder); } override public function remove():void{ if (tricycle.layers.radii.contains(_clip)){ tricycle.layers.radii.removeChild(_clip); }; } public function set showBorder(state:Boolean):void{ _showBorder = state; if (_showBorder == true){ _clip["border"].visible = true; } else { _clip["border"].visible = false; }; } override protected function _updateRadius():void{ if (_clip["fill"]){ _clip["fill"].width = (_clip["fill"].height = (base.radius * 2)); }; if (_clip["border"]){ _clip["border"].width = (_clip["border"].height = (base.radius * 2)); }; } private function _showHandle():void{ TweenLite.to(_clip["handle"], _alphaDuration, {alpha:1}); } public function get isFadeable():Boolean{ return (_isFadeable); } private function _updateSelected():void{ var mDistance:Number; if (isSizeable == true){ if (base.pressedElement != this){ mDistance = base.mouseDistance; if ((((mDistance <= base.detectionRadius)) && ((mDistance >= _ignoreRadius)))){ if (_isSelected == false){ _showHandle(); }; _isSelected = true; } else { if (_isSelected == true){ _hideHandle(); }; _isSelected = false; }; }; }; } private function _offSizeable():void{ base.stage.removeEventListener(MouseEvent.MOUSE_DOWN, _press); base.stage.removeEventListener(MouseEvent.MOUSE_UP, _release); _hideHandle(); _release(); } override protected function _updateIsEnabled():void{ if (isEnabled == true){ _on(); _updateIsSizeable(); } else { _off(); _offSizeable(); }; _fade(); } public function get xOffset():Number{ return (_xOffset); } private function _off():void{ _clip.removeEventListener(Event.ENTER_FRAME, _update); _offSizeable(); } private function _hideHandle():void{ TweenLite.to(_clip["handle"], _alphaDuration, {alpha:0}); } private function _updateDisplay():void{ if (base.pressedElement == this){ base.radius = (base.radius + ((_rTo - base.radius) * _moveAccel)); }; } private function _updateDrag():void{ var rTo:Number; var distance:Number; var offSetDistance:Number; var offSetDifference:Number; var centerPercent:Number; if (base.pressedElement == this){ rTo = 0; distance = mouseDistance; offSetDistance = Math.sqrt(((xOffset * xOffset) + (yOffset * yOffset))); offSetDifference = (distance - offSetDistance); _rTo = (baseOffset + offSetDifference); if (offSetDifference < 0){ centerPercent = (base.minRadius / distance); _rTo = ((_rTo - (_rTo * centerPercent)) + base.minRadius); }; }; } public function set isFadeable(state:Boolean):void{ _isFadeable = state; _fade(); } private function _press(e:MouseEvent=null):void{ if (base.pressedElement == null){ _xOffset = (_clip.mouseX * _clip.scaleX); _yOffset = (_clip.mouseY * _clip.scaleY); _baseOffset = base.radius; base.pressedElement = this; Mouse.hide(); }; } override protected function _updateIsSizeable():void{ if (isSizeable == true){ _onSizeable(); } else { _offSizeable(); }; } private function _release(e:MouseEvent=null):void{ if (base.pressedElement == this){ base.pressedElement = null; }; Mouse.show(); } public function get baseOffset():Number{ return (_baseOffset); } private function _fade():void{ if (isFadeable){ if (isEnabled){ TweenLite.to(_clip["fill"], _alphaDuration, {alpha:_alphaOn, overwrite:true}); } else { TweenLite.to(_clip["fill"], _alphaDuration, {alpha:_alphaOff, overwrite:true}); }; }; } public function get isSelected():Boolean{ return (_isSelected); } private function _update(e:Event=null):void{ _updateSelected(); _updateDrag(); _updateDisplay(); _updateRotation(); } private function _init():void{ _clip["fill"].alpha = _alphaOff; _clip["handle"].alpha = 0; _updateRadius(); } private function _changeTint(num:Number, duration:Number=-1):void{ if (duration == -1){ duration = _tintDuration; }; TweenLite.to(_clip["border"], duration, {tint:num}); } public function get yOffset():Number{ return (_yOffset); } public function set tint(num:Number):void{ _changeTint(num, _tintDuration); } private function _onSizeable():void{ base.stage.addEventListener(MouseEvent.MOUSE_DOWN, _press); base.stage.addEventListener(MouseEvent.MOUSE_UP, _release); } public function get tint():Number{ return (_tint); } override public function create(clip:DisplayObjectContainer=null):void{ tricycle.layers.radii.addChild(_clip); } private function _on():void{ _clip.addEventListener(Event.ENTER_FRAME, _update); } } }//package com.cipherprime.auditorium.views.item.element.elements
Section 73
//Radius__Radius (com.cipherprime.auditorium.views.item.element.elements.Radius__Radius) package com.cipherprime.auditorium.views.item.element.elements { import flash.display.*; import mx.core.*; public class Radius__Radius extends MovieClipAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var animation:DisplayObject; public var led_9:DisplayObject; public var arrows:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_8:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var led_28:DisplayObject; public var handle:DisplayObject; public var border:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var title:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var led_15:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.element.elements
Section 74
//Element (com.cipherprime.auditorium.views.item.element.Element) package com.cipherprime.auditorium.views.item.element { import com.cipherprime.tricycle.*; import flash.events.*; import flash.display.*; import com.cipherprime.auditorium.views.item.*; public class Element { private var _isSizeable:Boolean; private var _isMoveable:Boolean; protected var tricycle:Tricycle; private var _scaleX:Number; private var _scaleY:Number; protected var _clip:DisplayObjectContainer; private var _base:Item; private var _radius:Number; private var _isEnabled:Boolean; private var _x:Number; private var _y:Number; public function Element(base:Item){ tricycle = Tricycle.getInstance(); super(); _base = base; _isEnabled = base.isEnabled; _isSizeable = base.isSizeable; _isMoveable = base.isMoveable; } public function get y():Number{ return (_y); } public function set y(num:Number):void{ _y = num; if (_clip != null){ _clip.y = num; }; } public function create(clip:DisplayObjectContainer=null):void{ } public function get x():Number{ return (_x); } public function get mouseDistance():Number{ var dx:Number = (_clip.mouseX * _clip.scaleX); var dy:Number = (_clip.mouseY * _clip.scaleY); var distance:Number = Math.sqrt(((dx * dx) + (dy * dy))); return (distance); } public function set isSizeable(state:Boolean):void{ _isSizeable = state; _updateIsSizeable(); } public function remove():void{ } protected function _updateIsMoveable():void{ } public function get isMoveable():Boolean{ return (_isMoveable); } public function get scaleX():Number{ return (_scaleX); } public function get scaleY():Number{ return (_scaleY); } public function get clip():DisplayObjectContainer{ return (_clip); } public function get base():Item{ return (_base); } public function get radius():Number{ return (_radius); } protected function _updateRadius():void{ } public function set scaleX(num:Number):void{ _scaleX = num; if (_clip != null){ _clip.scaleX = num; }; } public function set radius(num:Number):void{ _radius = num; _updateRadius(); } public function set scaleY(num:Number):void{ _scaleY = num; if (_clip != null){ _clip.scaleY = num; }; } public function superSet(object:EventDispatcher, property:String, value):void{ var object = object; var property = property; var value = value; object.addEventListener(Event.ENTER_FRAME, function (e:Event=null):void{ if (object){ if (object[property]){ object[property] = value; }; object.removeEventListener(Event.ENTER_FRAME, arguments.callee); }; }); } public function set alpha(num:Number):void{ _clip.alpha = num; } public function set isMoveable(state:Boolean):void{ _isMoveable = state; _updateIsMoveable(); } public function get isSizeable():Boolean{ return (_isSizeable); } public function set isEnabled(state:Boolean):void{ _isEnabled = state; _updateIsEnabled(); } protected function _updateIsEnabled():void{ } protected function _updateIsSizeable():void{ } public function get isEnabled():Boolean{ return (_isEnabled); } public function set x(num:Number):void{ _x = num; if (_clip != null){ _clip.x = num; }; } } }//package com.cipherprime.auditorium.views.item.element
Section 75
//LED (com.cipherprime.auditorium.views.item.items.container_assets.LED) package com.cipherprime.auditorium.views.item.items.container_assets { import flash.display.*; import flash.geom.*; import com.gs.*; import com.cipherprime.euclid.*; import flash.filters.*; public class LED { private var _fill:MovieClip; private var _blurAmount:Number;// = 8 private var _blur:Sprite; private var _color:Number;// = 0xFFFFFF private var _clip:MovieClip; private var _alphaDuration:Number;// = 0.7 private var _isEnabled:Boolean;// = true public function LED(init_clip:MovieClip){ super(); _clip = init_clip; _fill = _clip["fill"]; } public function get color():Number{ return (_color); } public function set isEnabled(state:Boolean):void{ if (state == true){ if (isEnabled == false){ _on(); }; } else { if (isEnabled == true){ _off(); }; }; _isEnabled = state; } public function get clip():MovieClip{ return (_clip); } public function set color(num:Number):void{ _color = num; var colorTransform:ColorTransform = _fill.transform.colorTransform; colorTransform.color = _color; _fill.transform.colorTransform = colorTransform; _createGlow(); } private function _on():void{ TweenLite.to(clip, _alphaDuration, {alpha:1}); } private function _createGlow():void{ var alpha:Number = 0.5; var strength:Number = 1; var inner:Boolean; var knockout:Boolean; var quality:Number = BitmapFilterQuality.MEDIUM; var glow:GlowFilter = new GlowFilter(Calc.saturateColor(_color, 170), alpha, _blurAmount, _blurAmount, strength, quality, inner, knockout); _clip.filters = [glow]; } public function get isEnabled():Boolean{ return (_isEnabled); } private function _off():void{ TweenLite.to(clip, _alphaDuration, {alpha:0}); } } }//package com.cipherprime.auditorium.views.item.items.container_assets
Section 76
//Wedge (com.cipherprime.auditorium.views.item.items.container_assets.Wedge) package com.cipherprime.auditorium.views.item.items.container_assets { import flash.display.*; import flash.geom.*; public class Wedge { private var _color:uint; private var _clip:MovieClip; public function Wedge(init_clip:MovieClip){ super(); _clip = init_clip; _clip.alpha = 0; } public function get clip():MovieClip{ return (_clip); } public function set color(num:Number):void{ _color = num; var colorTransform:ColorTransform = _clip.transform.colorTransform; colorTransform.color = _color; _clip.transform.colorTransform = colorTransform; } public function get color():Number{ return (_color); } } }//package com.cipherprime.auditorium.views.item.items.container_assets
Section 77
//Attract (com.cipherprime.auditorium.views.item.items.Attract) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class Attract extends Control { private var _Attract:Class; public function Attract(){ _Attract = Attract__Attract; super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _createIcon(new _Attract()); } } }//package com.cipherprime.auditorium.views.item.items
Section 78
//Attract__Attract (com.cipherprime.auditorium.views.item.items.Attract__Attract) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Attract__Attract extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 79
//BlackHole (com.cipherprime.auditorium.views.item.items.BlackHole) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class BlackHole extends Obstacle { private var _BlackHole:Class; private var _BlackHoleHighlight:Class; public function BlackHole(){ _BlackHole = BlackHole__BlackHole; _BlackHoleHighlight = BlackHole__BlackHoleHighlight; super(); } override public function Init(editorMode:Boolean=false):void{ _createHighlight(new _BlackHoleHighlight()); super.Init(editorMode); _createIcon(new _BlackHole()); } } }//package com.cipherprime.auditorium.views.item.items
Section 80
//BlackHole__BlackHole (com.cipherprime.auditorium.views.item.items.BlackHole__BlackHole) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class BlackHole__BlackHole extends MovieClipAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 81
//BlackHole__BlackHoleHighlight (com.cipherprime.auditorium.views.item.items.BlackHole__BlackHoleHighlight) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class BlackHole__BlackHoleHighlight extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 82
//Color (com.cipherprime.auditorium.views.item.items.Color) package com.cipherprime.auditorium.views.item.items { import flash.events.*; import flash.display.*; import flash.geom.*; import com.cipherprime.euclid.*; import flash.filters.*; import com.cipherprime.auditorium.views.item.type.types.*; public class Color extends Obstacle { private var _color:Number; private var _Color:Class; private var _clip:MovieClip; public function Color(){ _Color = Color__Color; super(); } public function get color():Number{ return (_color); } public function set color(num:Number):void{ var colorTransform:ColorTransform; _color = num; var fullColor:Number = Calc.saturateColor(num, 170); if (RadiusObject){ RadiusObject.tint = fullColor; }; if (_clip["fill"]){ colorTransform = _clip["fill"].transform.colorTransform; colorTransform.color = num; _clip.filters = [new GlowFilter(fullColor, 1, 7, 7, 1, 1, false, false)]; _clip["fill"].transform.colorTransform = colorTransform; }; } private function _createColor():MovieClip{ var clip:MovieClip = (new _Color() as MovieClip); clip.gotoAndStop("small"); clip["fill"].addEventListener(Event.ADDED_TO_STAGE, _init); return (clip); } private function _init(e:Event=null):void{ if (RadiusObject){ RadiusObject.isFadeable = false; }; radius = super.radius; } override public function Init(editorMode:Boolean=false):void{ _clip = _createColor(); if (editorMode == true){ _createMoveable(); _createRadius(); _createIcon(_clip); RadiusObject.showBorder = false; isMoveable = true; isSizeable = true; isEnabled = true; } else { _createIcon(_clip); isMoveable = false; isSizeable = false; isEnabled = true; }; } override public function set radius(num:Number):void{ super.radius = num; if (_clip){ if (num >= 175){ _clip.gotoAndStop("large"); } else { if (num >= 110){ _clip.gotoAndStop("medium"); } else { _clip.gotoAndStop("small"); }; }; _clip.addEventListener(Event.ENTER_FRAME, _setSize); }; } private function _setSize(e:Event=null):void{ if (_clip["fill"]){ color = _color; _clip["fill"].width = (radius * 2); _clip["fill"].height = (radius * 2); _clip.removeEventListener(Event.ENTER_FRAME, _setSize); }; } } }//package com.cipherprime.auditorium.views.item.items
Section 83
//Color__Color (com.cipherprime.auditorium.views.item.items.Color__Color) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Color__Color extends MovieClipAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 84
//Container (com.cipherprime.auditorium.views.item.items.Container) package com.cipherprime.auditorium.views.item.items { import flash.events.*; import flash.display.*; import com.cipherprime.auditorium.models.flow.*; import com.gs.*; import com.cipherprime.auditorium.views.item.type.types.*; import com.cipherprime.auditorium.views.item.items.container_assets.*; public class Container extends Goal { private var _LEDBackground:DisplayObject; private var _container:DisplayObjectContainer; private var _scaleMin:Number;// = 1 private var _isFilled:Boolean;// = false private var _levels:Array; private var _ContainerGlow:Class; private var _colors:Array; private var _scaleMax:Number;// = 0.14 private var _pulse:DisplayObjectContainer; private var _ledCount:Number; private var _leds:Array; private var _TwoColorContainer:Class; private var _blurStrength:Number;// = 0xFF private var _clip:DisplayObjectContainer; private var _scaleCurrent:Number;// = 0.1 private var _blurAlpha:Number;// = 0.5 private var _ThreeColorContainer:Class; private var _blurAmount:Number;// = 1.3 private var _ledRowCount:Number;// = 3 private var _OneColorContainer:Class; private var _blurIncrement:Number;// = 0.3 private var _wedges:Array; private var _scaleIncrement:Number;// = 0.2 private var _blurMinimum:Number;// = 1 private var _blurCount:Number;// = 0 private var _ledColumnCount:Number;// = 10 private var _wedgeAccess:Array; public function Container(){ _OneColorContainer = Container__OneColorContainer; _TwoColorContainer = Container__TwoColorContainer; _ThreeColorContainer = Container__ThreeColorContainer; _ContainerGlow = Container__ContainerGlow; _ledCount = (_ledColumnCount * _ledRowCount); super(); _leds = new Array(); _levels = new Array(); _colors = new Array(); _wedges = new Array(); _wedgeAccess = new Array(); } private function _updateGlow(e:Event=null):void{ _scaleCurrent = (_scaleCurrent + _scaleIncrement); } public function initIcon(num:Number=3):void{ switch (num){ case 1: _clip = new _OneColorContainer(); break; case 2: _clip = new _TwoColorContainer(); break; case 3: _clip = new _ThreeColorContainer(); break; }; _pulse = _clip["pulse"]; var w:Number = 1; while (w <= 6) { _wedges[w] = new Wedge(_pulse["blur"][("wedge_0" + w)]); w++; }; var i:Number = 1; while (i <= _ledCount) { if (_clip[("led_" + i)]){ _leds[i] = new LED(_clip[("led_" + i)]); _leds[i].isEnabled = false; }; i++; }; switch (num){ case 3: _leds[(1 + (_ledColumnCount * 2))].isEnabled = true; case 2: _leds[(1 + _ledColumnCount)].isEnabled = true; case 1: _leds[1].isEnabled = true; break; }; _container.addChild(_clip); } public function get isFilled():Boolean{ return (_isFilled); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _container = new MovieClip(); _createIcon(_container); } private function _changeLeds(start:Number, end:Number, state:Boolean):void{ var i:Number; if (start != end){ i = start; while (i <= end) { if (_leds[i]){ _leds[i].isEnabled = state; }; i++; }; }; } public function set isFilled(state:Boolean):void{ if (state == true){ if (_isFilled == false){ _glowOn(); }; } else { if (_isFilled == true){ _glowOff(); }; }; _isFilled = state; } public function set colors(tempColors:Array):void{ _colors = tempColors; _updateColors(); } private function _glowOff():void{ } private function _glowOn():void{ } public function get levels():Array{ return (_levels); } public function setFilled(group:Number, state:Boolean):void{ var wedge:Wedge; var alpha:Number = (state) ? 1 : 0; for each (wedge in _wedgeAccess[group]) { TweenLite.to(wedge.clip, 1, {alpha:alpha}); }; } public function set levels(tempLevels:Array):void{ _levels = tempLevels; var i:Number = 0; while (i < _levels.length) { setFilled(i, (_levels[i] >= FlowModel.CONTAINER_THRESHOLD)); i++; }; _updateLevels(); } private function _updateLevels():void{ var level_1:Number; var level_2:Number; var level_3:Number; if (_levels.length >= 1){ level_1 = Math.round(((_ledColumnCount - 1) * _levels[0])); _changeLeds(2, (1 + level_1), true); _changeLeds((2 + level_1), _ledColumnCount, false); }; if (_levels.length >= 2){ level_2 = Math.round(((_ledColumnCount - 1) * _levels[1])); _changeLeds((2 + _ledColumnCount), ((1 + _ledColumnCount) + level_2), true); _changeLeds(((2 + _ledColumnCount) + level_2), (_ledColumnCount * 2), false); }; if (_levels.length >= 3){ level_3 = Math.round(((_ledColumnCount - 1) * _levels[2])); _changeLeds((2 + (_ledColumnCount * 2)), ((1 + (_ledColumnCount * 2)) + level_3), true); _changeLeds(((2 + (_ledColumnCount * 2)) + level_3), ((_ledColumnCount * 2) * 2), false); }; } private function _updateColors():void{ var c:Number; var w:Number; var i:Number; var b:Number; switch (_colors.length){ case 1: c = 1; while (c <= _ledColumnCount) { _leds[c].color = _colors[0]; c++; }; w = 1; while (w < _wedges.length) { _wedges[w].color = _colors[0]; _wedgeAccess.push(_wedges); w++; }; break; case 2: i = 1; while (i <= _ledColumnCount) { _leds[i].color = _colors[0]; i++; }; while (i <= (_ledColumnCount * 2)) { _leds[i].color = _colors[1]; i++; }; _wedges[4].color = _colors[0]; _wedges[5].color = _colors[0]; _wedges[6].color = _colors[0]; _wedges[1].color = _colors[1]; _wedges[2].color = _colors[1]; _wedges[3].color = _colors[1]; _wedgeAccess.push([_wedges[4], _wedges[5], _wedges[6]], [_wedges[1], _wedges[2], _wedges[3]]); break; case 3: b = 1; while (b <= _ledColumnCount) { _leds[b].color = _colors[0]; b++; }; while (b <= (_ledColumnCount * 2)) { _leds[b].color = _colors[1]; b++; }; while (b <= (_ledColumnCount * 3)) { _leds[b].color = _colors[2]; b++; }; _wedges[5].color = _colors[0]; _wedges[6].color = _colors[0]; _wedges[3].color = _colors[1]; _wedges[4].color = _colors[1]; _wedges[1].color = _colors[2]; _wedges[2].color = _colors[2]; _wedgeAccess.push([_wedges[5], _wedges[6]], [_wedges[3], _wedges[4]], [_wedges[1], _wedges[2]]); break; }; } public function get colors():Array{ return (_colors); } } }//package com.cipherprime.auditorium.views.item.items
Section 85
//Container__ContainerGlow (com.cipherprime.auditorium.views.item.items.Container__ContainerGlow) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Container__ContainerGlow extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 86
//Container__OneColorContainer (com.cipherprime.auditorium.views.item.items.Container__OneColorContainer) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Container__OneColorContainer extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 87
//Container__ThreeColorContainer (com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Container__ThreeColorContainer extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 88
//Container__TwoColorContainer (com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Container__TwoColorContainer extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 89
//Deflect (com.cipherprime.auditorium.views.item.items.Deflect) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class Deflect extends Control { private var _Deflect:Class; public function Deflect(){ _Deflect = Deflect__Deflect; super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _createIcon(new _Deflect()); } } }//package com.cipherprime.auditorium.views.item.items
Section 90
//Deflect__Deflect (com.cipherprime.auditorium.views.item.items.Deflect__Deflect) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Deflect__Deflect extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 91
//Divide (com.cipherprime.auditorium.views.item.items.Divide) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class Divide extends Obstacle { private var _TheDivideHighLight:Class; private var _TheDivideBackground:Class; public function Divide(){ _TheDivideBackground = Divide__TheDivideBackground; _TheDivideHighLight = Divide__TheDivideHighLight; super(); } override public function Init(editorMode:Boolean=false):void{ if (editorMode == true){ _createMoveable(); isMoveable = true; isEnabled = true; }; _createIcon(new _TheDivideBackground()); _createHighlight(new _TheDivideHighLight()); } } }//package com.cipherprime.auditorium.views.item.items
Section 92
//Divide__TheDivideBackground (com.cipherprime.auditorium.views.item.items.Divide__TheDivideBackground) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Divide__TheDivideBackground extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 93
//Divide__TheDivideHighLight (com.cipherprime.auditorium.views.item.items.Divide__TheDivideHighLight) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Divide__TheDivideHighLight extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 94
//Fall (com.cipherprime.auditorium.views.item.items.Fall) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class Fall extends Control { private var _Fall:Class; public function Fall(){ _Fall = Fall__Fall; super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _createIcon(new _Fall()); } } }//package com.cipherprime.auditorium.views.item.items
Section 95
//Fall__Fall (com.cipherprime.auditorium.views.item.items.Fall__Fall) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Fall__Fall extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 96
//Flow (com.cipherprime.auditorium.views.item.items.Flow) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class Flow extends Player { public function Flow(){ super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); } } }//package com.cipherprime.auditorium.views.item.items
Section 97
//IonStorm (com.cipherprime.auditorium.views.item.items.IonStorm) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class IonStorm extends Obstacle { private var _IonStorm:Class; public function IonStorm(){ _IonStorm = IonStorm__IonStorm; super(); } override public function Init(editorMode:Boolean=false):void{ if (editorMode == true){ _createMoveable(); isMoveable = true; isEnabled = true; }; _createIcon(new _IonStorm()); } } }//package com.cipherprime.auditorium.views.item.items
Section 98
//IonStorm__IonStorm (com.cipherprime.auditorium.views.item.items.IonStorm__IonStorm) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class IonStorm__IonStorm extends MovieClipAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 99
//Portal (com.cipherprime.auditorium.views.item.items.Portal) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.*; public class Portal extends ItemType { public function Portal(){ super(); } } }//package com.cipherprime.auditorium.views.item.items
Section 100
//PortalEntrance (com.cipherprime.auditorium.views.item.items.PortalEntrance) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class PortalEntrance extends Obstacle { private var _PortalEntrance:Class; public function PortalEntrance(){ _PortalEntrance = PortalEntrance__PortalEntrance; super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _createIcon(new _PortalEntrance()); } } }//package com.cipherprime.auditorium.views.item.items
Section 101
//PortalEntrance__PortalEntrance (com.cipherprime.auditorium.views.item.items.PortalEntrance__PortalEntrance) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class PortalEntrance__PortalEntrance extends MovieClipAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 102
//PortalExit (com.cipherprime.auditorium.views.item.items.PortalExit) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class PortalExit extends Obstacle { private var _PortalExit:Class; public function PortalExit(){ _PortalExit = PortalExit__PortalExit; super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _createIcon(new _PortalExit()); } } }//package com.cipherprime.auditorium.views.item.items
Section 103
//PortalExit__PortalExit (com.cipherprime.auditorium.views.item.items.PortalExit__PortalExit) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class PortalExit__PortalExit extends MovieClipAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 104
//Pull (com.cipherprime.auditorium.views.item.items.Pull) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class Pull extends Control { private var _Pull:Class; public function Pull(){ _Pull = Pull__Pull; super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _createIcon(new _Pull()); } } }//package com.cipherprime.auditorium.views.item.items
Section 105
//Pull__Pull (com.cipherprime.auditorium.views.item.items.Pull__Pull) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Pull__Pull extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 106
//Push (com.cipherprime.auditorium.views.item.items.Push) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class Push extends Control { private var _Push:Class; public function Push(){ _Push = Push__Push; super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _createIcon(new _Push()); } } }//package com.cipherprime.auditorium.views.item.items
Section 107
//Push__Push (com.cipherprime.auditorium.views.item.items.Push__Push) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Push__Push extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 108
//Rabbit (com.cipherprime.auditorium.views.item.items.Rabbit) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class Rabbit extends Control { private var _Rabbit:Class; public function Rabbit(){ _Rabbit = Rabbit__Rabbit; super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _createIcon(new _Rabbit()); } } }//package com.cipherprime.auditorium.views.item.items
Section 109
//Rabbit__Rabbit (com.cipherprime.auditorium.views.item.items.Rabbit__Rabbit) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Rabbit__Rabbit extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 110
//Repel (com.cipherprime.auditorium.views.item.items.Repel) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class Repel extends Control { private var _Repel:Class; public function Repel(){ _Repel = Repel__Repel; super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _createIcon(new _Repel()); } } }//package com.cipherprime.auditorium.views.item.items
Section 111
//Repel__Repel (com.cipherprime.auditorium.views.item.items.Repel__Repel) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Repel__Repel extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 112
//Rise (com.cipherprime.auditorium.views.item.items.Rise) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class Rise extends Control { private var _Rise:Class; public function Rise(){ _Rise = Rise__Rise; super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _createIcon(new _Rise()); } } }//package com.cipherprime.auditorium.views.item.items
Section 113
//Rise__Rise (com.cipherprime.auditorium.views.item.items.Rise__Rise) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Rise__Rise extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 114
//Snail (com.cipherprime.auditorium.views.item.items.Snail) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class Snail extends Control { private var _Snail:Class; public function Snail(){ _Snail = Snail__Snail; super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _createIcon(new _Snail()); } } }//package com.cipherprime.auditorium.views.item.items
Section 115
//Snail__Snail (com.cipherprime.auditorium.views.item.items.Snail__Snail) package com.cipherprime.auditorium.views.item.items { import flash.display.*; import mx.core.*; public class Snail__Snail extends SpriteAsset { public var led_4:DisplayObject; public var led_5:DisplayObject; public var led_6:DisplayObject; public var led_7:DisplayObject; public var led_9:DisplayObject; public var led_8:DisplayObject; public var numeric:DisplayObject; public var led_30:DisplayObject; public var fill:DisplayObject; public var loader:DisplayObject; public var led_23:DisplayObject; public var pulse:DisplayObject; public var led_28:DisplayObject; public var wedge_05:DisplayObject; public var led_21:DisplayObject; public var act:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var dialog:DisplayObject; public var led_10:DisplayObject; public var led_11:DisplayObject; public var led_12:DisplayObject; public var led_13:DisplayObject; public var led_14:DisplayObject; public var title:DisplayObject; public var led_16:DisplayObject; public var led_18:DisplayObject; public var led_19:DisplayObject; public var led_15:DisplayObject; public var led_17:DisplayObject; public var blur:DisplayObject; public var wedge_01:DisplayObject; public var wedge_02:DisplayObject; public var wedge_03:DisplayObject; public var wedge_04:DisplayObject; public var wedge_06:DisplayObject; public var led_20:DisplayObject; public var led_22:DisplayObject; public var led_24:DisplayObject; public var led_25:DisplayObject; public var led_26:DisplayObject; public var led_27:DisplayObject; public var led_29:DisplayObject; public var led_1:DisplayObject; public var led_2:DisplayObject; public var led_3:DisplayObject; } }//package com.cipherprime.auditorium.views.item.items
Section 116
//Spin (com.cipherprime.auditorium.views.item.items.Spin) package com.cipherprime.auditorium.views.item.items { import com.cipherprime.auditorium.views.item.type.types.*; public class Spin extends Control { private var _Spin:Class; public function Spin(editorMode:Boolean){ super(); } override public function Init(editorMode:Boolean=false):void{ super.Init(editorMode); _createIcon(new _Spin()); } } }//package com.cipherprime.auditorium.views.item.items
Section 117
//Control (com.cipherprime.auditorium.views.item.type.types.Control) package com.cipherprime.auditorium.views.item.type.types { import flash.display.*; import com.cipherprime.auditorium.views.item.type.*; public class Control extends ItemType { private var _container:MovieClip; public function Control(){ super(); } override public function Init(editorMode:Boolean=false):void{ _createIconContainer(); _createMoveable(); _createRadius(); isMoveable = true; isSizeable = true; isEnabled = true; } } }//package com.cipherprime.auditorium.views.item.type.types
Section 118
//Goal (com.cipherprime.auditorium.views.item.type.types.Goal) package com.cipherprime.auditorium.views.item.type.types { import com.cipherprime.auditorium.views.item.type.*; public class Goal extends ItemType { public function Goal(){ super(); } override public function Init(editorMode:Boolean=false):void{ if (editorMode == true){ _createMoveable(); isMoveable = true; isSizeable = true; isEnabled = true; } else { isMoveable = false; isSizeable = false; isEnabled = true; }; } } }//package com.cipherprime.auditorium.views.item.type.types
Section 119
//Obstacle (com.cipherprime.auditorium.views.item.type.types.Obstacle) package com.cipherprime.auditorium.views.item.type.types { import com.cipherprime.auditorium.views.item.type.*; public class Obstacle extends ItemType { public function Obstacle(){ super(); } override public function Init(editorMode:Boolean=false):void{ if (editorMode == true){ _createMoveable(); isMoveable = true; isSizeable = false; isEnabled = true; } else { isMoveable = false; isSizeable = false; isEnabled = true; }; } } }//package com.cipherprime.auditorium.views.item.type.types
Section 120
//Player (com.cipherprime.auditorium.views.item.type.types.Player) package com.cipherprime.auditorium.views.item.type.types { import com.cipherprime.auditorium.views.item.type.*; public class Player extends ItemType { public function Player(){ super(); } override public function Init(editorMode:Boolean=false):void{ if (editorMode == true){ _createDirection(); _createMoveable(); isMoveable = true; isSizeable = true; isEnabled = true; } else { isMoveable = false; isSizeable = false; isEnabled = false; }; } } }//package com.cipherprime.auditorium.views.item.type.types
Section 121
//ItemType (com.cipherprime.auditorium.views.item.type.ItemType) package com.cipherprime.auditorium.views.item.type { import flash.display.*; import com.cipherprime.auditorium.views.item.*; import com.cipherprime.auditorium.views.item.element.elements.*; public class ItemType extends Item { private var _iconContainer:IconContainer;// = null private var _moveable:Moveable;// = null private var _icon:Icon;// = null private var _directional:Directional;// = null private var _radius:Radius;// = null private var _highlight:Highlight;// = null public function ItemType(){ super(); } public function get IconContainerObject():IconContainer{ return (_iconContainer); } protected function _createRadius():void{ _radius = new Radius((this as Item)); _radius.create(); addElement(_radius, "Radius"); } protected function _removeHighlight():void{ _highlight.remove(); _highlight = null; removeElement("Highlight"); } protected function _removeRadius():void{ _radius.remove(); _radius = null; removeElement("Radius"); } protected function _createHighlight(highlight:DisplayObjectContainer):void{ _highlight = new Highlight((this as Item)); _highlight.create(highlight); addElement(_highlight, "Highlight"); } protected function _removeDirection():void{ _directional.remove(); _directional = null; removeElement("Directional"); } public function get RadiusObject():Radius{ return (_radius); } protected function _createDirection():void{ _directional = new Directional((this as Item)); _directional.create(); addElement(_directional, "Directional"); } protected function _removeIconContainer():void{ _iconContainer.remove(); _iconContainer = null; removeElement("IconContainer"); } protected function _createMoveable():void{ _moveable = new Moveable((this as Item)); _moveable.create(); addElement(_moveable, "Moveable"); } public function get DirectionalObject():Directional{ return (_directional); } protected function _createIconContainer():void{ _iconContainer = new IconContainer((this as Item)); _iconContainer.create(); addElement(_iconContainer, "IconContainer"); } protected function _removeMoveable():void{ _moveable.remove(); _moveable = null; removeElement("Moveable"); } protected function _createIcon(icon:DisplayObjectContainer):void{ _icon = new Icon((this as Item)); _icon.create(icon); addElement(_icon, "Icon"); } public function Init(editorMode:Boolean=false):void{ } public function get IconObject():Icon{ return (_icon); } public function get MoveableObject():Moveable{ return (_moveable); } public function get HighlightObject():Highlight{ return (_highlight); } protected function _removeIcon():void{ _icon.remove(); _icon = null; removeElement("Icon"); } } }//package com.cipherprime.auditorium.views.item.type
Section 122
//Item (com.cipherprime.auditorium.views.item.Item) package com.cipherprime.auditorium.views.item { import com.cipherprime.tricycle.*; import flash.display.*; import com.cipherprime.utils.*; import com.cipherprime.auditorium.views.item.element.*; public class Item { private var _x:Number;// = 0 private var _paddingRadius:Number;// = 10 private var _minRadius:Number;// = 50 private var _isMoveable:Boolean;// = false private var _maxRadius:Number;// = 260 private var _pressedElement:Element;// = null private var _radius:Number;// = 0 private var _isEnabled:Boolean;// = true private var _isSizeable:Boolean;// = false private var _elements:Cipher; private var _alpha:Number;// = 1 private var _vx:Number;// = 0 private var _vy:Number;// = 0 private var _scaleX:Number;// = 1 protected var _name:String;// = "Item" private var _scaleY:Number;// = 1 private var _y:Number;// = 0 public function Item(){ super(); _elements = new Cipher(); radius = minRadius; } public function get pressedElement():Element{ return (_pressedElement); } public function set vy(num:Number):void{ _vy = num; _elements.setAll("vy", _vy); } public function remove():void{ var element:Object; for each (element in _elements.list) { if (("isEnabled" in element)){ element.isEnabled = false; }; if (("remove" in element)){ element.remove(); }; _elements.kill(element); }; } public function get stage():Stage{ return (Tricycle.getInstance().stage); } public function get y():Number{ return (_y); } public function get radius():Number{ return (_radius); } public function set vx(num:Number):void{ _vx = num; _elements.setAll("vx", _vx); } public function get maxRadius():Number{ return (_maxRadius); } public function get name():String{ return (_name); } public function addElement(element:Object, name:String):void{ _elements.add(element); } public function set scaleX(num:Number):void{ _scaleX = num; _elements.setAll("scaleX", _scaleX); } public function set scaleY(num:Number):void{ _scaleY = num; _elements.setAll("scaleY", _scaleY); } public function set radius(num:Number):void{ if (num >= _minRadius){ if (num >= _maxRadius){ _radius = _maxRadius; } else { _radius = num; }; } else { _radius = _minRadius; }; _elements.setAll("radius", _radius); } public function get isSizeable():Boolean{ return (_isSizeable); } public function get minRadius():Number{ return (_minRadius); } public function get root():DisplayObject{ return (Tricycle.getInstance().root); } public function get isEnabled():Boolean{ return (_isEnabled); } public function get mouseDistance():Number{ var element:Object; for each (element in _elements.list) { if ((element is Element)){ return (element.mouseDistance); }; }; return (0); } public function set alpha(num:Number):void{ _alpha = num; _elements.setAll("alpha", _alpha); } public function get vy():Number{ return (_vy); } public function get vx():Number{ return (_vx); } public function set isSizeable(state:Boolean):void{ _isSizeable = state; _elements.setAll("isSizeable", _isSizeable); } public function get scaleX():Number{ return (_scaleX); } public function get scaleY():Number{ return (_scaleY); } public function removeElement(element:Object):void{ if (typeof(element) == "number"){ _elements.killAt((element as uint)); } else { _elements.kill(element); }; } public function get alpha():Number{ return (_alpha); } public function set isMoveable(state:Boolean):void{ _isMoveable = state; _elements.setAll("isMoveable", _isMoveable); } public function set isEnabled(state:Boolean):void{ _isEnabled = state; _elements.setAll("isEnabled", _isEnabled); } public function set y(num:Number):void{ _y = num; _elements.setAll("y", _y); } public function set x(num:Number):void{ _x = num; _elements.setAll("x", _x); } public function get x():Number{ return (_x); } public function set pressedElement(e:Element):void{ _pressedElement = e; } public function get isMoveable():Boolean{ return (_isMoveable); } public function get detectionRadius():Number{ return ((_radius + _paddingRadius)); } } }//package com.cipherprime.auditorium.views.item
Section 123
//ActView (com.cipherprime.auditorium.views.ActView) package com.cipherprime.auditorium.views { import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import flash.display.*; import com.cipherprime.tricycle.view.*; import com.gs.*; import flash.filters.*; public class ActView extends View { private var _loaderBar:LoaderBar; private var _levelIndicator:DisplayObjectContainer; private var _glow:GlowFilter; private var _ActDisplay:Class; private var _LevelIndicator:Class; private var _actDisplay:MovieClip; public function ActView(m:Model, c:Controller){ _ActDisplay = ActView__ActDisplay; _LevelIndicator = ActView__LevelIndicator; _glow = new GlowFilter(0xFFFFFF, 0.4, 5, 5); super(m, c); _init(); } public function updateSongLoadProgress(percent:Number):void{ _loaderBar.percentLoaded = percent; } public function event_ActStarted():void{ TweenLite.to(_levelIndicator, 1, {alpha:1}); } private function _init():void{ _actDisplay = new _ActDisplay(); _actDisplay.x = (stage.stageWidth / 2); _actDisplay.y = (stage.stageHeight / 2); _actDisplay.stop(); _levelIndicator = new _LevelIndicator(); _levelIndicator.x = stage.stageWidth; _levelIndicator.y = stage.stageHeight; _levelIndicator.alpha = 0; _levelIndicator["title"]["title"].text = ""; _levelIndicator["numeric"]["numeric"].text = ""; tricycle.layers.wallpaper.addChild(_levelIndicator); _loaderBar = new LoaderBar(_levelIndicator["loader"]); } public function event_EndGame():void{ event_ActLoaded(); } private function _frameListener(e:Event=null):void{ if (_actDisplay.currentLabel == "eventMovieComplete"){ stage.removeChild(_actDisplay); _actDisplay.removeEventListener(Event.ENTER_FRAME, _frameListener); _actDisplay.stop(); model.play(); }; } public function get levelIndicator():MovieClip{ return ((_levelIndicator as MovieClip)); } public function updateLevelIndicator(level:Number):void{ _levelIndicator["title"]["title"].text = model.currentAct.title.toUpperCase(); _levelIndicator["loader"].width = _levelIndicator["title"]["title"].textWidth; _levelIndicator["numeric"]["numeric"].text = (((model.currentActNumber + 1) + " : ") + (level + 1)); } public function event_ActLoaded():void{ TweenLite.to(_levelIndicator, 1, {alpha:0}); } public function updateSongLoadProgressColor(color:uint):void{ TweenLite.to(_levelIndicator["loader"]["progress"], 0.5, {tint:color}); } public function event_ActIntro():void{ if (tricycle.config.intro){ _actDisplay.addEventListener(Event.ENTER_FRAME, _frameListener); _actDisplay["act"].act.text = ("ACT " + (model.currentActNumber + 1)); _actDisplay["title"].title.text = model.currentAct.title.toUpperCase(); stage.addChild(_actDisplay); _actDisplay.play(); } else { model.play(); }; } } }//package com.cipherprime.auditorium.views
Section 124
//ActView__ActDisplay (com.cipherprime.auditorium.views.ActView__ActDisplay) package com.cipherprime.auditorium.views { import flash.display.*; import mx.core.*; public class ActView__ActDisplay extends MovieClipAsset { public var dialog:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var act:DisplayObject; public var loader:DisplayObject; public var numeric:DisplayObject; public var title:DisplayObject; } }//package com.cipherprime.auditorium.views
Section 125
//ActView__LevelIndicator (com.cipherprime.auditorium.views.ActView__LevelIndicator) package com.cipherprime.auditorium.views { import flash.display.*; import mx.core.*; public class ActView__LevelIndicator extends SpriteAsset { public var dialog:DisplayObject; public var progress:DisplayObject; public var background:DisplayObject; public var loader:DisplayObject; public var numeric:DisplayObject; public var title:DisplayObject; } }//package com.cipherprime.auditorium.views
Section 126
//ContextMenuView (com.cipherprime.auditorium.views.ContextMenuView) package com.cipherprime.auditorium.views { import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import com.cipherprime.tricycle.view.*; import flash.net.*; import flash.ui.*; public class ContextMenuView extends View { private var _contextMenu:ContextMenu; public function ContextMenuView(m:Model, c:Controller){ _contextMenu = new ContextMenu(); super(m, c); _contextMenu.hideBuiltInItems(); var tricycleMessage:ContextMenuItem = new ContextMenuItem("Powered by Tricycle™"); var highQualityMessage:ContextMenuItem = new ContextMenuItem("Set High Quality", true); var mediumQualityMessage:ContextMenuItem = new ContextMenuItem("Set Medium Quality"); var lowQualityMessage:ContextMenuItem = new ContextMenuItem("Set Low Quality"); var copywriteMessage:ContextMenuItem = new ContextMenuItem("Auditorium © 2008 Cipher Prime, LLC", true); _contextMenu.customItems.push(tricycleMessage, highQualityMessage, mediumQualityMessage, lowQualityMessage, copywriteMessage); tricycle.contextMenu = _contextMenu; tricycleMessage.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _goTricycle); highQualityMessage.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _setHighQuality); mediumQualityMessage.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _setMediumQuality); lowQualityMessage.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _setLowQuality); copywriteMessage.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, _goCipher); } private function _goCipher(e:ContextMenuEvent=null):void{ var cipherURL:URLRequest = new URLRequest("http://www.cipherprime.com/"); navigateToURL(cipherURL); } private function _setLowQuality(e:ContextMenuEvent=null):void{ tricycle.flowView.quality = FlowView.LOW_QUALITY; } private function _setMediumQuality(e:ContextMenuEvent=null):void{ tricycle.flowView.quality = FlowView.MEDIUM_QUALITY; } private function _goTricycle(e:ContextMenuEvent=null):void{ } private function _setHighQuality(e:ContextMenuEvent=null):void{ tricycle.flowView.quality = FlowView.HIGH_QUALITY; } } }//package com.cipherprime.auditorium.views
Section 127
//ContinueView (com.cipherprime.auditorium.views.ContinueView) package com.cipherprime.auditorium.views { import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import flash.display.*; import com.cipherprime.tricycle.view.*; import com.cipherprime.tricycle.utils.helpers.*; import com.gs.*; import flash.net.*; import flash.text.*; public class ContinueView extends View { private var _sharedObject:SharedObject; private var _clip:MovieClip; private var _continueLoader:MovieHelper; public function ContinueView(m:Model, c:Controller){ super(m, c); _sharedObject = SharedObject.getLocal("lastLevel"); } private function _focus(e:MouseEvent=null):void{ TweenLite.to(e.currentTarget, 0.5, {frame:30}); } public function restartGame(e:MouseEvent=null):void{ _removeListeners(); TweenLite.to(_clip, 1, {alpha:0, onComplete:_restart}); } private function _continueLoaded():void{ _clip = (_continueLoader.movie as MovieClip); var actLevelString:String = (((_sharedObject.data.act + 1) + ":") + (_sharedObject.data.level + 1)); _clip["output"]["output"].htmlText = "continue from "; _clip["output"]["output"].htmlText = (_clip["output"]["output"].htmlText + actLevelString); var bigTf:TextFormat = _clip["output"]["output"].getTextFormat(); bigTf.size = "120"; _clip["output"]["output"].setTextFormat(bigTf, (_clip["output"]["output"].text.length - actLevelString.length), _clip["output"]["output"].text.length); _clip["selection"]["yes"].mouseEnabled = true; _clip["selection"]["yes"].buttonMode = true; _clip["selection"]["no"].mouseEnabled = true; _clip["selection"]["no"].buttonMode = true; _addListeners(); stage.addChild(_clip); _clip.play(); } private function _resume():void{ if (((_clip) && (stage.contains(_clip)))){ stage.removeChild(_clip); }; model.resumeGame(); } private function _blur(e:MouseEvent=null):void{ TweenLite.to(e.currentTarget, 0.5, {frame:0}); } private function _restart():void{ if (((_clip) && (stage.contains(_clip)))){ stage.removeChild(_clip); }; model.startGame(); } private function _removeListeners():void{ _clip["selection"]["yes"].removeEventListener(MouseEvent.MOUSE_OVER, _focus); _clip["selection"]["yes"].removeEventListener(MouseEvent.MOUSE_OUT, _blur); _clip["selection"]["yes"].removeEventListener(MouseEvent.CLICK, resumeGame); _clip["selection"]["no"].removeEventListener(MouseEvent.MOUSE_OVER, _focus); _clip["selection"]["no"].removeEventListener(MouseEvent.MOUSE_OUT, _blur); _clip["selection"]["no"].removeEventListener(MouseEvent.CLICK, restartGame); } private function _addListeners():void{ _clip["selection"]["yes"].addEventListener(MouseEvent.MOUSE_OVER, _focus); _clip["selection"]["yes"].addEventListener(MouseEvent.MOUSE_OUT, _blur); _clip["selection"]["yes"].addEventListener(MouseEvent.CLICK, resumeGame); _clip["selection"]["no"].addEventListener(MouseEvent.MOUSE_OVER, _focus); _clip["selection"]["no"].addEventListener(MouseEvent.MOUSE_OUT, _blur); _clip["selection"]["no"].addEventListener(MouseEvent.CLICK, restartGame); } public function event_ContinueGame():void{ if (((tricycle.config.resume) && ((((_sharedObject.data.level > 0)) || ((_sharedObject.data.act > 0)))))){ _continueLoader = new MovieHelper("lib/swf/continue.swf"); _continueLoader.onLoad = _continueLoaded; _continueLoader.load(); } else { _restart(); }; } public function resumeGame(e:MouseEvent=null):void{ _removeListeners(); TweenLite.to(_clip, 1, {alpha:0, onComplete:_resume}); } } }//package com.cipherprime.auditorium.views
Section 128
//EditorView (com.cipherprime.auditorium.views.EditorView) package com.cipherprime.auditorium.views { import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import flash.display.*; import com.cipherprime.tricycle.view.*; import flash.utils.*; import com.cipherprime.utils.*; import com.cipherprime.tricycle.utils.helpers.*; import com.cipherprime.auditorium.models.editor.*; public class EditorView extends View { private var _statusTimeout:Number;// = 3000 private var _newColorsArray:Array; public var myMenu:Menu; private var _songListing:XmlHelper; public var menuHolder:Sprite; private var _deleteLevelProcess:XmlHelper; public var currentLevelName:String; public var currentLevelSaved:Boolean;// = true private var _levelListing:XmlHelper; public static const COLOR_BLACK:uint = 0; public static const COLOR_GREEN:uint = 11206570; public static const COLOR_MAGENTA:uint = 16755455; public static const COLOR_YELLOW:uint = 16777130; public static const COLOR_WHITE:uint = 0xFFFFFF; public static const COLOR_RED:uint = 16755370; public static const COLOR_BLUE:uint = 11184895; public static const COLOR_CYAN:uint = 11206655; public function EditorView(m:Model, c:Controller){ super(m, c); } private function _newColorModifier(numColors:Number):void{ _newColorsArray = new Array(); _selectColorModifierMenu(1, numColors); } private function _onGetLevelLoad(e:Event=null):void{ var levelLookup:Dictionary; var lXml:XML; var levelMenu:Menu; var levelFunction:Function; var levelName:String; var menuOption:MenuOption; var e = e; var levelOptionArray:Array = new Array(); levelLookup = new Dictionary(); for each (lXml in _levelListing.xml.level) { levelFunction = function ():void{ var url:String = levelLookup[arguments.callee].url; currentLevelName = levelLookup[arguments.callee].name; _newLevel(); tricycle.levelModel.newChild({url:url}); status(("Loaded " + url), 2000); }; levelName = lXml; levelName = levelName.substr(0, (levelName.length - 4)); levelLookup[levelFunction] = {url:lXml.@url, name:levelName}; menuOption = new MenuOption(levelName, levelFunction); levelOptionArray.push(menuOption); }; status(""); levelMenu = new Menu("Available levels", levelOptionArray); menuHolder.addChild(levelMenu); levelMenu.start(); } public function newLevel():void{ var confirmMenu:Menu; if (tricycle.flowModel.objects.length){ confirmMenu = new Menu("Are you sure you want to lose your current changes?", new MenuOption("Yes", _newLevel), new MenuOption("No", function ():void{ })); menuHolder.addChild(confirmMenu); confirmMenu.start(); } else { _newLevel(); }; } public function saveLevel():void{ if (tricycle.flowModel.objects.length){ model.request("Enter level name: ", _saveLevel, currentLevelName); currentLevelSaved = true; } else { status("Level is empty.", _statusTimeout); }; } private function _saveLevel(name:String):void{ tricycle.xmlModel.saveXml(name); } public function status(text:String, delay:Number=0):void{ model.status(text, delay); } private function _selectColorModifierOption(optionNumber:Number, color:uint):void{ _newColorsArray[(optionNumber - 1)] = color; } public function deleteLevel():void{ var confirmMenu:Menu; if (currentLevelName){ confirmMenu = new Menu((("Are you sure you want to delete \"" + currentLevelName) + "\"?"), new MenuOption("Yes", _deleteLevel), new MenuOption("No", function ():void{ })); menuHolder.addChild(confirmMenu); confirmMenu.start(); } else { newLevel(); }; } private function _deleteLevel():void{ _deleteLevelProcess.request = {level:currentLevelName}; _deleteLevelProcess.onLoad = function ():void{ status((("Deleted \"" + currentLevelName) + "\""), 2000); currentLevelName = ""; }; _deleteLevelProcess.load(); } public function _newLevel():void{ controller.resetLevel(); currentLevelSaved = true; } public function getLevels():void{ var confirmMenu:Menu; if (!currentLevelSaved){ confirmMenu = new Menu("There are unsaved changes", new MenuOption("Save now", saveLevel), new MenuOption("Discard changes", function ():void{ currentLevelSaved = true; getLevels(); })); menuHolder.addChild(confirmMenu); confirmMenu.start(); } else { _levelListing.onLoad = _onGetLevelLoad; _levelListing.onProgress = function ():void{ status((("Retrieving levels..." + Math.floor((_levelListing.percentLoaded * 100))) + "%")); }; _levelListing.onIoError = function ():void{ status("Error retrieving levels", _statusTimeout); }; _levelListing.load(); status("Connecting to server..."); }; } public function setDemoMode(mode:Boolean):void{ tricycle.levelModel.demoMode = mode; status(("Demo mode: " + mode), _statusTimeout); } public function event_StartEditor():void{ _songListing = new XmlHelper((tricycle.config.urls.editor + "getsong.php")); _deleteLevelProcess = new XmlHelper((tricycle.config.urls.editor + "deletelevel.php")); _levelListing = new XmlHelper((tricycle.config.urls.editor + "getlevel.php")); _levelListing.noCache = true; menuHolder = new Sprite(); tricycle.layers.hud.addChild(menuHolder); myMenu = new Menu("Select your option", new Menu("Create new item", new MenuOption("Create new stream", function ():void{ DefaultSettings.stream(); }), new Menu("Create new control", new MenuOption("Attract", function ():void{ DefaultSettings.warp("AttractModifier"); status("Added Attract", _statusTimeout); }), new MenuOption("Repel", function ():void{ DefaultSettings.warp("RepelModifier"); status("Added Repel", _statusTimeout); }), new MenuOption("Deflect", function ():void{ DefaultSettings.warp("DeflectModifier"); status("Added Deflect", _statusTimeout); }), new MenuOption("Rise", function ():void{ DefaultSettings.warp("RiseModifier"); status("Added Rise", _statusTimeout); }), new MenuOption("Fall", function ():void{ DefaultSettings.warp("FallModifier"); status("Added Fall", _statusTimeout); }), new MenuOption("Push", function ():void{ DefaultSettings.warp("PushModifier"); status("Added Push", _statusTimeout); }), new MenuOption("Pull", function ():void{ DefaultSettings.warp("PullModifier"); status("Added Pull", _statusTimeout); }), new MenuOption("Rabbit", function ():void{ DefaultSettings.warp("RabbitModifier"); status("Added Rabbit", _statusTimeout); }), new MenuOption("Snail", function ():void{ DefaultSettings.warp("SnailModifier"); status("Added Snail", _statusTimeout); })), new Menu("Create new obstacle", new Menu("Color", new MenuOption("Red", function ():void{ DefaultSettings.colorObject("ColorModifier", COLOR_RED); status("Added Color Modifier", _statusTimeout); }), new MenuOption("Green", function ():void{ DefaultSettings.colorObject("ColorModifier", COLOR_GREEN); status("Added Color Modifier", _statusTimeout); }), new MenuOption("Blue", function ():void{ DefaultSettings.colorObject("ColorModifier", COLOR_BLUE); status("Added Color Modifier", _statusTimeout); }), new MenuOption("Cyan", function ():void{ DefaultSettings.colorObject("ColorModifier", COLOR_CYAN); status("Added Color Modifier", _statusTimeout); }), new MenuOption("Magenta", function ():void{ DefaultSettings.colorObject("ColorModifier", COLOR_MAGENTA); status("Added Color Modifier", _statusTimeout); }), new MenuOption("Yellow", function ():void{ DefaultSettings.colorObject("ColorModifier", COLOR_YELLOW); status("Added Color Modifier", _statusTimeout); }), new MenuOption("White", function ():void{ DefaultSettings.colorObject("ColorModifier", COLOR_WHITE); status("Added Color Modifier", _statusTimeout); }), new MenuOption("Black", function ():void{ DefaultSettings.colorObject("ColorModifier", COLOR_BLACK); status("Added Color Modifier", _statusTimeout); })), new MenuOption("Black Hole", function ():void{ DefaultSettings.warp("BlackHoleModifier"); status("Added Black Hole", _statusTimeout); }), new MenuOption("Portal", function ():void{ DefaultSettings.warp("PortalModifier"); status("Added Portal", _statusTimeout); }), new MenuOption("Divide", function ():void{ DefaultSettings.warp("DivideModifier"); status("Added Divide", _statusTimeout); }), new MenuOption("Ion Storm", function ():void{ DefaultSettings.warp("IonStormModifier"); status("Added Ion Storm", _statusTimeout); })), new Menu("Create new goal", new MenuOption("One color", function ():void{ _newColorModifier(1); }), new MenuOption("Two colors", function ():void{ _newColorModifier(2); }), new MenuOption("Three colors", function ():void{ _newColorModifier(3); }))), new MenuOption("Remove item", removeItem), new Menu("Level tools", new MenuOption("New level", newLevel), new MenuOption("Save level", saveLevel), new MenuOption("Load level", getLevels), new Menu("Set demo mode", new MenuOption("On", function ():void{ setDemoMode(true); }), new MenuOption("Off", function ():void{ setDemoMode(false); })), new MenuOption("Delete current level", deleteLevel))); tricycle.stage.addEventListener(KeyboardEvent.KEY_UP, menuKeyHandler); } public function removeItem():void{ tricycle.flowModel.startRemoveMode(); model.status("Select the item you would like to remove; click the stage to cancel."); } public function menuKeyHandler(e:KeyboardEvent):void{ switch (e.keyCode){ case 192: if (menuHolder.numChildren == 0){ menuHolder.addChild(myMenu); myMenu.start(); }; break; }; } private function _selectColorModifierMenu(optionNumber:Number, total:Number):void{ var adjective:String; var nextFunction:Function; var optionNumber = optionNumber; var total = total; switch (optionNumber){ case 1: adjective = "first"; break; case 2: adjective = "second"; break; case 3: adjective = "third"; break; }; if (optionNumber == total){ nextFunction = function ():void{ DefaultSettings.container("ContainerModifier", _newColorsArray); }; } else { nextFunction = function ():void{ _selectColorModifierMenu((optionNumber + 1), total); }; }; var colorMenu:Menu = new Menu((("Choose " + adjective) + " color:"), new MenuOption("Red", function ():void{ _selectColorModifierOption(optionNumber, COLOR_RED); nextFunction(); }), new MenuOption("Green", function ():void{ _selectColorModifierOption(optionNumber, COLOR_GREEN); nextFunction(); }), new MenuOption("Blue", function ():void{ _selectColorModifierOption(optionNumber, COLOR_BLUE); nextFunction(); }), new MenuOption("Cyan", function ():void{ _selectColorModifierOption(optionNumber, COLOR_CYAN); nextFunction(); }), new MenuOption("Magenta", function ():void{ _selectColorModifierOption(optionNumber, COLOR_MAGENTA); nextFunction(); }), new MenuOption("Yellow", function ():void{ _selectColorModifierOption(optionNumber, COLOR_YELLOW); nextFunction(); }), new MenuOption("White", function ():void{ _selectColorModifierOption(optionNumber, COLOR_WHITE); nextFunction(); }), new MenuOption("Black", function ():void{ _selectColorModifierOption(optionNumber, COLOR_BLACK); nextFunction(); })); menuHolder.addChild(colorMenu); colorMenu.start(); } } }//package com.cipherprime.auditorium.views
Section 129
//EndView (com.cipherprime.auditorium.views.EndView) package com.cipherprime.auditorium.views { import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import flash.display.*; import com.cipherprime.tricycle.view.*; import com.cipherprime.tricycle.utils.helpers.*; public class EndView extends View { private var _ending:MovieClip; private var _endingLoader:MovieHelper; public function EndView(m:Model, c:Controller){ super(m, c); } private function _stopClip(e:Event=null):void{ stage.frameRate = 30; _ending.gotoAndStop(1); } public function event_EndGame():void{ _endingLoader = new MovieHelper("lib/swf/ending.swf"); _endingLoader.onLoad = _endingLoaded; _endingLoader.load(); } private function _playClip(e:Event=null):void{ stage.frameRate = 12; _ending.play(); } private function _endingLoaded():void{ _ending = (_endingLoader.movie as MovieClip); _ending.stop(); _ending.addEventListener(Event.ADDED_TO_STAGE, _playClip); _ending.addEventListener(Event.REMOVED_FROM_STAGE, _stopClip); _ending.mouseEnabled = false; _ending.mouseChildren = false; _ending.x = ((stage.stageWidth - 720) / 2); _ending.y = ((stage.stageHeight - 480) / 2); stage.addChild(_ending); } } }//package com.cipherprime.auditorium.views
Section 130
//FlowView (com.cipherprime.auditorium.views.FlowView) package com.cipherprime.auditorium.views { import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import flash.display.*; import com.cipherprime.auditorium.models.flow.*; import com.cipherprime.tricycle.view.*; import flash.geom.*; import com.gs.*; import com.cipherprime.euclid.*; import flash.net.*; import flash.filters.*; public class FlowView extends View { private var _quality:String; private var _offset:Point; private var _view:Sprite; private var _blur:BlurFilter; private var _fadeColorTransform:ColorTransform; private var _trail:Shape; public var _sharedObject:SharedObject; private var _blurRenderer:Bitmap; private var _trailIntensity:Number;// = 1 private var _trailThickness:Number;// = 0 private var _contrastFilter:ColorMatrixFilter; private var _fadeRenderer:Bitmap; public static const HIGH_QUALITY:String = "HighQuality"; public static const LOW_QUALITY:String = "LowQuality"; public static const MEDIUM_QUALITY:String = "MediumQuality"; public function FlowView(m:Model, c:Controller){ _sharedObject = SharedObject.getLocal("gameSettings"); super(m, c); _init(); } public function addToFadeRenderer(item:DisplayObject):void{ _fadeRenderer.bitmapData.draw(item); } public function set quality(value:String):void{ _quality = value; var _local2 = this; _local2[("_set" + value)](); } public function set fading(val:Boolean):void{ if (val){ TweenLite.to(_blur, 0.5, {blurX:20, blurY:20}); } else { TweenLite.to(_blur, 0.5, {blurX:4, blurY:4}); }; } private function _fadeEffect():void{ _fadeRenderer.bitmapData.colorTransform(_fadeRenderer.bitmapData.rect, _fadeColorTransform); } private function _setLowQuality():void{ _blurRenderer.visible = false; _fadeRenderer.visible = true; _view.filters = []; _fadeColorTransform = new ColorTransform(1, 1, 1, 0.9); _sharedObject.data.gameQuality = LOW_QUALITY; } private function _setHighQuality():void{ _blurRenderer.visible = true; _fadeRenderer.visible = true; _view.filters = [_contrastFilter]; _fadeColorTransform = new ColorTransform(1.2, 1.2, 1.2, 0.8); _sharedObject.data.gameQuality = HIGH_QUALITY; } public function addToBlurRenderer(item:DisplayObject):void{ _blurRenderer.bitmapData.draw(item); } private function _setMediumQuality():void{ _blurRenderer.visible = true; _fadeRenderer.visible = false; _view.filters = [_contrastFilter]; _fadeColorTransform = new ColorTransform(1.2, 1.2, 1.2, 0.8); _sharedObject.data.gameQuality = MEDIUM_QUALITY; } public function event_EndGame():void{ stage.removeEventListener(Event.ENTER_FRAME, updateFrame); TweenLite.to(_view, 0.5, {alpha:0, onComplete:function ():void{ tricycle.layers.middleground.removeChild(_view); }}); } public function event_StartEditor():void{ event_StartGame(); } public function updateFrame(e:Event=null):void{ var s:Stream; var p:Particle; if (_blurRenderer.visible){ _blurRenderer.bitmapData.lock(); }; if (_fadeRenderer.visible){ _fadeRenderer.bitmapData.lock(); }; for each (s in model.streams.list) { for each (p in s.particles.list) { _drawTrail(p); }; }; if (_blurRenderer.visible){ _blurEffect(); _blurRenderer.bitmapData.unlock(); }; if (_fadeRenderer.visible){ _fadeEffect(); _fadeRenderer.bitmapData.unlock(); }; } private function _init():void{ _blurRenderer = new Bitmap(new BitmapData(stage.stageWidth, stage.stageHeight, true, 0xFFFFFF)); _fadeRenderer = new Bitmap(new BitmapData(stage.stageWidth, stage.stageHeight, true, 0xFFFFFF)); _trail = new Shape(); _fadeColorTransform = new ColorTransform(1.2, 1.2, 1.2, 0.8); _view = new Sprite(); _offset = new Point(0, 0); _blur = new BlurFilter(4, 4, 1); _fadeRenderer.alpha = 0.5; _view.addChild(_blurRenderer); _view.addChild(_fadeRenderer); var contrast:Number = 2; var contrastArray:Array = Calc.adjustBrightnessContrast(contrast, (-100 * contrast)); _contrastFilter = new ColorMatrixFilter(contrastArray); _view.filters = [_contrastFilter]; } public function event_StartGame():void{ tricycle.layers.middleground.addChild(_view); _view.alpha = 0; TweenLite.to(_view, 0.5, {alpha:1}); stage.addEventListener(Event.ENTER_FRAME, updateFrame); } private function _blurEffect():void{ _blurRenderer.bitmapData.applyFilter(_blurRenderer.bitmapData, _blurRenderer.bitmapData.rect, _offset, _blur); } private function _drawTrail(p:Particle):void{ _trail.graphics.clear(); _trail.graphics.lineStyle(_trailThickness, p.color, p.alpha); _trail.graphics.moveTo(p.lx, p.ly); _trail.graphics.lineTo(p.x, p.y); if (_blurRenderer.visible){ _blurRenderer.bitmapData.draw(_trail); }; if (_fadeRenderer.visible){ _fadeRenderer.bitmapData.draw(_trail); }; } public function get quality():String{ return (_quality); } } }//package com.cipherprime.auditorium.views
Section 131
//FPSView (com.cipherprime.auditorium.views.FPSView) package com.cipherprime.auditorium.views { import com.cipherprime.tricycle.*; import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import flash.display.*; import com.cipherprime.tricycle.view.*; import flash.utils.*; import flash.media.*; import com.oaxoa.*; public class FPSView extends View { public var s:Shape; public function FPSView(m:Model, c:Controller){ super(m, c); s = new Shape(); s.scaleY = 0.5; s.scaleX = 0.5; s.x = (stage.stageWidth - 120); } public function computeSpectrum(e:Event):void{ var bytes:ByteArray = new ByteArray(); var PLOT_HEIGHT = 200; var CHANNEL_LENGTH = 0x0100; SoundMixer.computeSpectrum(bytes, false, 0); var g:Graphics = s.graphics; g.clear(); g.lineStyle(0, 0x6600CC); g.beginFill(0x6600CC); g.moveTo(0, PLOT_HEIGHT); var n:Number = 0; var i:int; while (i < CHANNEL_LENGTH) { n = (bytes.readFloat() * PLOT_HEIGHT); g.lineTo((i * 2), (PLOT_HEIGHT - n)); i++; }; g.lineTo((CHANNEL_LENGTH * 2), PLOT_HEIGHT); g.endFill(); g.lineStyle(0, 0xCC0066); g.beginFill(0xCC0066, 0.5); g.moveTo((CHANNEL_LENGTH * 2), PLOT_HEIGHT); i = CHANNEL_LENGTH; while (i > 0) { n = (bytes.readFloat() * PLOT_HEIGHT); g.lineTo((i * 2), (PLOT_HEIGHT - n)); i--; }; g.lineTo(0, PLOT_HEIGHT); g.endFill(); } public function event_StartGame():void{ var frameRateMeter:FrameRater = new FrameRater(0xDCDCDC); frameRateMeter.x = (this.stage.stageWidth - frameRateMeter.width); tricycle.layers.foreground.addChild(frameRateMeter); Tricycle.getInstance().layers.foreground.addChild(s); } } }//package com.cipherprime.auditorium.views
Section 132
//FullscreenView (com.cipherprime.auditorium.views.FullscreenView) package com.cipherprime.auditorium.views { import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import flash.display.*; import com.cipherprime.tricycle.view.*; import flash.geom.*; public class FullscreenView extends View { private var _TopDialog:Class; private var _fullscreenEnabled:Boolean;// = false private var _fullscreenClip:DisplayObjectContainer; public function FullscreenView(m:Model, c:Controller){ _TopDialog = FullscreenView__TopDialog; super(m, c); if (("fullScreenSourceRect" in stage)){ _fullscreenEnabled = true; stage.fullScreenSourceRect = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight); }; } private function _keyHandler(e:KeyboardEvent):void{ switch (e.keyCode){ case 70: if (stage.displayState == StageDisplayState.FULL_SCREEN){ goNormal(); } else { goFullscreen(); }; break; case 27: break; }; } public function goFullscreen():void{ if (((tricycle.config.fullscreen) && (_fullscreenEnabled))){ stage.displayState = StageDisplayState.FULL_SCREEN; }; } public function goNormal():void{ stage.displayState = StageDisplayState.NORMAL; } private function _onFullscreen(e:FullScreenEvent):void{ if (e.fullScreen){ if (tricycle.layers.wallpaper.contains(_fullscreenClip)){ tricycle.layers.wallpaper.removeChild(_fullscreenClip); }; } else { tricycle.layers.wallpaper.addChild(_fullscreenClip); }; } public function event_StartGame():void{ if (_fullscreenEnabled){ _fullscreenClip = new _TopDialog(); _fullscreenClip["dialog"].text = "Press the 'f' key to enter fullscreen mode."; _fullscreenClip.x = stage.stageWidth; _fullscreenClip.y = 0; stage.addEventListener(KeyboardEvent.KEY_DOWN, _keyHandler); stage.addEventListener(FullScreenEvent.FULL_SCREEN, _onFullscreen); }; } } }//package com.cipherprime.auditorium.views
Section 133
//FullscreenView__TopDialog (com.cipherprime.auditorium.views.FullscreenView__TopDialog) package com.cipherprime.auditorium.views { import flash.display.*; import mx.core.*; public class FullscreenView__TopDialog extends SpriteAsset { public var dialog:DisplayObject; } }//package com.cipherprime.auditorium.views
Section 134
//IntroView (com.cipherprime.auditorium.views.IntroView) package com.cipherprime.auditorium.views { import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import flash.display.*; import com.cipherprime.tricycle.view.*; import com.cipherprime.tricycle.utils.helpers.*; import flash.media.*; public class IntroView extends View { private var _introLoader:MovieHelper; private var _intro:MovieClip; public function IntroView(m:Model, c:Controller){ super(m, c); _intro = new MovieClip(); } public function event_LoadIntro():void{ if (tricycle.config.intro){ _introLoader = new MovieHelper("lib/swf/intro.swf"); _introLoader.onLoad = _introLoaded; _introLoader.load(); } else { _start(); }; } private function _introLoaded():void{ _intro = (_introLoader.movie as MovieClip); _intro.stop(); _intro.addEventListener(Event.ADDED_TO_STAGE, _playClip); _intro.addEventListener(Event.REMOVED_FROM_STAGE, _stopClip); _intro.mouseEnabled = false; _intro.mouseChildren = false; _intro.x = ((stage.stageWidth - 720) / 2); _intro.y = ((stage.stageHeight - 480) / 2); model.startIntro(); } private function _playClip(e:Event=null):void{ stage.frameRate = 12; _intro.play(); } public function event_EndGame():void{ } private function _stopClip(e:Event=null):void{ stage.frameRate = 30; _intro.gotoAndStop(1); SoundMixer.stopAll(); } private function _start(e:MouseEvent=null):void{ stage.removeEventListener(MouseEvent.CLICK, _start); if (tricycle.layers.hud.contains(_intro)){ tricycle.layers.hud.removeChild(_intro); }; tricycle.fullscreenView.goFullscreen(); model.continueGame(); } public function event_StartIntro():void{ stage.addEventListener(MouseEvent.CLICK, _start); tricycle.layers.hud.addChild(_intro); } } }//package com.cipherprime.auditorium.views
Section 135
//ItemsView (com.cipherprime.auditorium.views.ItemsView) package com.cipherprime.auditorium.views { import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import com.cipherprime.auditorium.models.flow.*; import com.cipherprime.tricycle.view.*; import com.cipherprime.auditorium.views.item.*; import flash.utils.*; import com.cipherprime.utils.*; import com.cipherprime.auditorium.*; import com.cipherprime.auditorium.views.item.type.*; import com.cipherprime.auditorium.views.item.type.types.*; import com.cipherprime.auditorium.views.item.items.*; public class ItemsView extends View { private var _goals:Cipher; private var _obstacles:Cipher; private var _timer:Timer; private var _usePlayers:Boolean;// = false private var _editorMode:Boolean; private var _controls:Cipher; private var _useGoals:Boolean;// = false private var _useObstacles:Boolean;// = false private var _useControls:Boolean;// = false private var _interval:Number;// = 100 private var _currentTargets:Cipher; private var _currentTarget:Item; private var _players:Cipher; public function ItemsView(m:Model, c:Controller){ super(m, c); } private function _itemOn(current_item:Item):void{ var item:ItemType = (current_item as ItemType); item.isEnabled = true; } private function _updateObstacles():void{ if (_useObstacles == true){ _currentTargets.concat(_findTargets(_obstacles)); }; } public function updateContainer(item:Item, levels:Array):void{ var container:Container = (item as Container); container.levels = levels; } private function _findTarget():Item{ var item:Item; var distance:Number; var currentTarget:Item; var currentDistance:Number = 10000000; for each (item in _currentTargets.list) { distance = item.mouseDistance; if (distance <= item.detectionRadius){ if (distance <= currentDistance){ currentTarget = item; currentDistance = distance; }; }; }; return (currentTarget); } public function event_WarpRemoved():void{ var removeItem:Item = controller.removeItem(); } public function get editorMode():Boolean{ return ((tricycle.config.mode == Configuration.EDITOR_MODE)); } private function _updatePlayers():void{ if (_usePlayers == true){ _currentTargets.concat(_findTargets(_players)); }; } private function _findTargets(targets:Cipher):Cipher{ var item:Item; var newTargets:Cipher = new Cipher(); for each (item in targets.list) { if (item.isMoveable == true){ newTargets.add(item); }; }; return (newTargets); } public function event_WarpInit():void{ var newItem:Item = controller.addItem(); if (newItem != null){ newItem.isEnabled = true; if ((newItem is Control)){ _controls.add(newItem); if (tricycle.config.mode == Configuration.EDITOR_MODE){ _itemOff(newItem); } else { _delayedItemOff(newItem); }; } else { if ((newItem is Goal)){ _goals.add(newItem); } else { if ((newItem is Obstacle)){ _obstacles.add(newItem); }; }; }; }; } private function _updateTarget():void{ var newTarget:ItemType = (_findTarget() as ItemType); if (_currentTarget != null){ if (_currentTarget.pressedElement != null){ return; }; if (_currentTarget.mouseDistance <= _currentTarget.detectionRadius){ _itemOn(_currentTarget); } else { _itemOff(_currentTarget); }; if (_currentTarget != newTarget){ _itemOff(_currentTarget); }; }; if (_currentTargets.length > 0){ if (newTarget != null){ _currentTarget = newTarget; }; }; } private function _update(e:TimerEvent=null):void{ _currentTargets = new Cipher(); _updateControls(); _updateObstacles(); _updateGoals(); _updatePlayers(); _updateTarget(); } private function _start():void{ _timer = new Timer(_interval); _timer.addEventListener(TimerEvent.TIMER, _update); _timer.start(); _controls = new Cipher(); _goals = new Cipher(); _obstacles = new Cipher(); _players = new Cipher(); } public function event_ContainerLevelChanged():void{ controller.updateContainer(); } public function event_StreamInit():void{ var newItem:Item = controller.addStreamItem(); _players.add(newItem); } public function event_StartGame():void{ _useControls = true; _editorMode = false; _start(); } public function event_StartEditor():void{ _useControls = true; _useObstacles = true; _useGoals = true; _usePlayers = true; _editorMode = true; _start(); } private function _itemOff(current_item:Item):void{ var item:ItemType = (current_item as ItemType); item.isEnabled = false; } public function event_EndGame():void{ } private function _delayedItemOff(item:Item):void{ var offTimer:Timer; var item = item; item.isMoveable = false; item.isSizeable = false; offTimer = new Timer(FlowModel.CONTROL_PREVIEW); offTimer.addEventListener(TimerEvent.TIMER, function (e:TimerEvent=null):void{ offTimer.removeEventListener(TimerEvent.TIMER, arguments.callee); offTimer.stop(); item.isMoveable = true; item.isSizeable = true; _itemOff(item); }); offTimer.start(); } public function event_StreamRemoved():void{ var removeItem:Item = controller.removeItem(true); } public function removeItem(item:Item):Boolean{ if (_controls.remove(item) != false){ item.remove(); return (true); }; if (_goals.remove(item) != false){ item.remove(); return (true); }; if (_obstacles.remove(item) != false){ item.remove(); return (true); }; if (_players.remove(item) != false){ item.remove(); return (true); }; return (false); } private function _updateControls():void{ if (_useControls == true){ _currentTargets.concat(_findTargets(_controls)); }; } private function _updateGoals():void{ if (_useGoals == true){ _currentTargets.concat(_findTargets(_goals)); }; } } }//package com.cipherprime.auditorium.views
Section 136
//LayersView (com.cipherprime.auditorium.views.LayersView) package com.cipherprime.auditorium.views { import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import flash.display.*; import com.cipherprime.tricycle.view.*; import com.cipherprime.tricycle.utils.helpers.*; import com.gs.*; import com.cipherprime.auditorium.*; public class LayersView extends View { private var _wallpaper:MovieHelper; public function LayersView(m:Model, c:Controller){ super(m, c); _init(); } private function _hideWallpaper():void{ TweenLite.to(_wallpaper.movie, 0.5, {alpha:0}); } private function _showWallpaper():void{ TweenLite.to(_wallpaper.movie, 0.5, {alpha:1}); } private function _loadWallpaper():void{ _wallpaper = new MovieHelper("lib/swf/background.swf"); _wallpaper.onLoad = _displayWallpaper; _wallpaper.load(); } private function _init():void{ var foreground:MovieClip = new MovieClip(); foreground.name = "foreground"; foreground.mouseChildren = false; foreground.mouseEnabled = false; var middleground:MovieClip = new MovieClip(); middleground.name = "middleground"; middleground.mouseChildren = false; middleground.mouseEnabled = false; var background:MovieClip = new MovieClip(); background.name = "background"; background.mouseChildren = false; background.mouseEnabled = false; var radii:MovieClip = new MovieClip(); radii.name = "radii"; radii.mouseChildren = false; radii.mouseEnabled = false; var wallpaper:MovieClip = new MovieClip(); wallpaper.name = "wallpaper"; wallpaper.mouseChildren = false; wallpaper.mouseEnabled = false; var hud:MovieClip = new MovieClip(); hud.name = "hud"; hud.mouseChildren = false; hud.mouseEnabled = false; var removeitem:MovieClip = new MovieClip(); removeitem.name = "removeitem"; removeitem.mouseEnabled = true; var layers:Object = {foreground:foreground, middleground:middleground, background:background, radii:radii, wallpaper:wallpaper, hud:hud, removeitem:removeitem}; stage.addChild(wallpaper); stage.addChild(background); stage.addChild(radii); stage.addChild(middleground); stage.addChild(foreground); stage.addChild(hud); if (tricycle.config.mode == Configuration.EDITOR_MODE){ stage.addChild(removeitem); }; tricycle.layers = layers; } private function _displayWallpaper(e:Event=null):void{ _wallpaper.movie.alpha = 0; _wallpaper.movie.x = ((stage.stageWidth - _wallpaper.movie.width) / 2); _wallpaper.movie.y = ((stage.stageHeight - _wallpaper.movie.height) / 2); tricycle.layers.wallpaper.addChild(_wallpaper.movie); tricycle.layers.wallpaper.setChildIndex(_wallpaper.movie, 0); _showWallpaper(); } } }//package com.cipherprime.auditorium.views
Section 137
//LoaderBar (com.cipherprime.auditorium.views.LoaderBar) package com.cipherprime.auditorium.views { import flash.display.*; import com.gs.*; public class LoaderBar { private var _bar:MovieClip; public function LoaderBar(progress:MovieClip){ super(); _bar = progress; _bar.gotoAndStop(0); } public function set percentLoaded(value:Number):void{ var frame:int; if (_bar){ frame = (value * 100); TweenLite.to(_bar, 0.5, {frame:frame}); }; } } }//package com.cipherprime.auditorium.views
Section 138
//RemoveView (com.cipherprime.auditorium.views.RemoveView) package com.cipherprime.auditorium.views { import flash.events.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import flash.display.*; import com.cipherprime.tricycle.view.*; import flash.utils.*; import com.cipherprime.utils.*; import com.gs.*; public class RemoveView extends View { private var _objectLookup:Dictionary; public function RemoveView(m:Model, c:Controller){ super(m, c); } public function cancel(e:MouseEvent=null):void{ var o:Object; var objectSelector:MovieClip; stage.removeEventListener(MouseEvent.CLICK, cancel); for (o in _objectLookup) { objectSelector = (o as MovieClip); objectSelector.removeEventListener(MouseEvent.ROLL_OVER, focusItem); objectSelector.removeEventListener(MouseEvent.ROLL_OUT, blurItem); objectSelector.removeEventListener(MouseEvent.CLICK, removeItem); tricycle.layers.removeitem.removeChild(objectSelector); }; tricycle.editorView.status(""); stage.focus = stage; } public function removeItem(e:MouseEvent):void{ model.removeObject(_objectLookup[e.target]); cancel(); } public function blurItem(e:MouseEvent):void{ TweenLite.to(e.target, 0.3, {alpha:0}); } public function focusItem(e:MouseEvent):void{ TweenLite.to(e.target, 0.3, {alpha:0.2}); } public function event_RemoveItemMode():void{ var o:*; var radius:Number; var objectSelector:MovieClip; _objectLookup = new Dictionary(true); var objects:Cipher = new Cipher(); objects.concat(model.streams); objects.concat(model.warps); for each (o in objects.list) { if (("radius" in o)){ radius = (o.radius + 10); } else { radius = 50; }; objectSelector = new MovieClip(); objectSelector.graphics.beginFill(0xFF0000); objectSelector.graphics.drawCircle(0, 0, radius); objectSelector.graphics.endFill(); objectSelector.x = o.x; objectSelector.y = o.y; objectSelector.alpha = 0; tricycle.layers.removeitem.addChild(objectSelector); _objectLookup[objectSelector] = o; objectSelector.buttonMode = true; objectSelector.addEventListener(MouseEvent.ROLL_OVER, focusItem); objectSelector.addEventListener(MouseEvent.ROLL_OUT, blurItem); objectSelector.addEventListener(MouseEvent.CLICK, removeItem); }; stage.addEventListener(MouseEvent.CLICK, cancel); } } }//package com.cipherprime.auditorium.views
Section 139
//Configuration (com.cipherprime.auditorium.Configuration) package com.cipherprime.auditorium { public class Configuration { private var _mode:String;// = "GameMode" private var _urls:Object; private var _resume:Boolean;// = true private var _constants:Object; private var _debug:Boolean;// = false private var _tracking:Boolean;// = false private var _fullscreen:Boolean;// = true private var _intro:Boolean;// = true public static const GAME_MODE:String = "GameMode"; public static const EDITOR_MODE:String = "EditorMode"; public static const WALKTHROUGH_MODE:String = "WalkthroughMode"; public function Configuration(){ _urls = new Object(); _constants = new Object(); super(); } public function get intro():Object{ return (_intro); } public function get constants():Object{ return (_constants); } public function get debug():Boolean{ return (_debug); } public function get mode():String{ return (_mode); } public function get urls():Object{ return (_urls); } public function populate(xml:XML):void{ var settingsXml:XML; var urlsXml:XML; var constantsXml:XML; for each (settingsXml in xml.settings) { _mode = settingsXml.mode; _tracking = (settingsXml.tracking == "on"); _debug = (settingsXml.debug == "on"); _resume = (settingsXml.resume == "on"); _fullscreen = (settingsXml.fullscreen == "on"); _intro = (settingsXml.intro == "on"); }; for each (urlsXml in xml.urls) { _urls.playlist = urlsXml.playlist; _urls.tracking = urlsXml.tracking; _urls.editor = urlsXml.editor; }; for each (constantsXml in xml.constants) { _constants.audio = {fadeOutTime:constantsXml.audio.fadeOutTime}; _constants.flow = {containerFullThreshold:constantsXml.flow.containerFullThreshold, controlPreviewTime:constantsXml.flow.controlPreviewTime, controlRadius:constantsXml.flow.controlRadius, controlSpacing:constantsXml.flow.controlSpacing}; _constants.item = {fadeInTime:constantsXml.item.fadeInTime, fadeOutTime:constantsXml.item.fadeOutTime}; }; } public function get tracking():Boolean{ return (_tracking); } public function get fullscreen():Boolean{ return (_fullscreen); } public function get resume():Boolean{ return (_resume); } } }//package com.cipherprime.auditorium
Section 140
//Calc (com.cipherprime.euclid.Calc) package com.cipherprime.euclid { public class Calc { public function Calc(){ super(); } public static function adjustBrightnessContrast(contrast:Number, brightness:Number):Array{ return ([contrast, 0, 0, 0, brightness, 0, contrast, 0, 0, brightness, 0, 0, contrast, 0, brightness, 0, 0, 0, 1, 1]); } public static function saturateColor(color:uint, threshold:uint):uint{ var r:uint = (color >> 16); var g:uint = ((color >> 8) & 0xFF); var b:uint = (color & 0xFF); if (r > threshold){ r = 0xFF; } else { r = 0; }; if (g > threshold){ g = 0xFF; } else { g = 0; }; if (b > threshold){ b = 0xFF; } else { b = 0; }; return ((((r << 16) | (g << 8)) | b)); } public static function dist(x1:Number, y1:Number, x2:Number, y2:Number):Number{ var dx:Number = (x2 - x1); var dy:Number = (y2 - y1); return (Math.sqrt(((dx * dx) + (dy * dy)))); } } }//package com.cipherprime.euclid
Section 141
//Vector (com.cipherprime.euclid.Vector) package com.cipherprime.euclid { public class Vector { public var x:Number; public var y:Number; public function Vector(xp:Number=0, yp:Number=0){ super(); setVector(xp, yp); } public function add(v:Vector):void{ x = (x + v.x); y = (y + v.y); } public function setVector(xp:Number=0, yp:Number=0):Vector{ x = xp; y = yp; return (this); } public function dot(v:Vector):Number{ return (((x * v.x) + (y * v.y))); } public function scale(s:Number):Vector{ x = (x * s); y = (y * s); return (this); } public function normalize():Vector{ scale((1 / getLength())); return (this); } public function setMagnitude(m:Number):Vector{ scale((m / getLength())); return (this); } public function rotate(angle:Number):void{ var cosAngle:Number = Math.cos(angle); var sinAngle:Number = Math.sin(angle); var rx:Number = ((x * cosAngle) - (y * sinAngle)); var ry:Number = ((x * sinAngle) + (y * cosAngle)); x = rx; y = ry; } public function getLength():Number{ return (Math.sqrt(((x * x) + (y * y)))); } } }//package com.cipherprime.euclid
Section 142
//VectorField (com.cipherprime.euclid.VectorField) package com.cipherprime.euclid { import flash.display.*; public dynamic class VectorField { public var y:Number; public var field:Function; private var v:Vector; public var x:Number; public function VectorField(xp:Number, yp:Number){ var xp = xp; var yp = yp; super(); setOrigin(xp, yp); v = new Vector(); field = function (xv:Number, yv:Number):Vector{ return (v); }; } public function setOrigin(xp:Number, yp:Number, zp:Number=0):void{ x = xp; y = yp; } public function getVector(xv:Number, yv:Number):Vector{ return (field(xv, yv)); } public function setFunction(f:Function):void{ field = f; } public function show(size:Number=100, step:Number=5):Sprite{ var sx:Number; var v:*; var size = size; var step = step; var clip:Sprite = new Sprite(); var sy:Number = (y - (size / 2)); while (sy <= (y + (size / 2))) { sx = (x - (size / 2)); while (sx <= (x + (size / 2))) { var _local4 = clip.graphics; with (_local4) { moveTo(sx, sy); lineStyle(1, 0xFFFFFF); beginFill(0xFFFFFF); drawCircle(sx, sy, 1); endFill(); v = getVector(sx, sy); v.scale(2); lineTo((sx + v.x), (sy + v.y)); }; sx = (sx + step); }; sy = (sy + step); }; return (clip); } } }//package com.cipherprime.euclid
Section 143
//Controller (com.cipherprime.tricycle.controller.Controller) package com.cipherprime.tricycle.controller { import com.cipherprime.tricycle.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.view.*; public dynamic class Controller { protected var _tricycle:Tricycle; protected var _event:String; protected var _view:View; protected var _model:Model; public var debug:Boolean;// = false public function Controller(m:Model){ _tricycle = Tricycle.getInstance(); super(); model = m; if (_tricycle == null){ throw (new Error("Controllers must be instantiated in constructor or later.")); }; } public function set event(event:String):void{ if ((arguments.callee is Model)){ _event = event; }; } public function get view():View{ return (_view); } public function get model():Model{ return (_model); } public function onModelEvent():void{ if (debug){ trace(event); }; } public function set view(v:View):void{ if (v !== null){ _view = (v as View); }; } public function set model(m:Model):void{ if (m !== null){ if (model != null){ model.removeListener(this); }; _model = m; model.addListener(this); }; } public function get event():String{ return (_event); } public function get tricycle():Tricycle{ return (_tricycle); } } }//package com.cipherprime.tricycle.controller
Section 144
//CrudModel (com.cipherprime.tricycle.model.CrudModel) package com.cipherprime.tricycle.model { import com.cipherprime.utils.*; public class CrudModel extends Model { protected var _lastChildAdded; protected var _lastChildInitialized; protected var _lastChildModified; protected var _lastChildRemoved; protected var _ChildClass:Class; private var _children:Cipher; public function CrudModel(){ _ChildClass = Object; _children = new Cipher(); super(); } public function addChild(child){ _children.add(child); if (("model" in child)){ child.model = this; }; _lastChildAdded = child; dispatchModelEvent("ChildAdded"); return (child); } public function newChild(params:Object=null){ var child:* = new ChildClass(); addChild(child); if (params){ initChild(child, params); }; return (child); } public function get lastChildAdded(){ return (_lastChildAdded); } public function removeAllChildren():void{ var numChildren:Number = children.length; var i:Number = 0; while (i < numChildren) { removeChild(children.getAt(0)); i++; }; } public function initChild(child, params:Object){ if (("init" in child)){ child.init(params); }; _lastChildInitialized = child; dispatchModelEvent("ChildInitialized"); return (child); } public function get lastChildInitialized(){ return (_lastChildRemoved); } public function get lastChildModified(){ return (_lastChildModified); } public function get ChildClass():Class{ return (_ChildClass); } public function removeChild(child){ _children.remove(child); _lastChildRemoved = child; dispatchModelEvent("ChildRemoved"); return (child); } public function get lastChildRemoved(){ return (_lastChildRemoved); } public function get children():Cipher{ return (_children); } } }//package com.cipherprime.tricycle.model
Section 145
//Model (com.cipherprime.tricycle.model.Model) package com.cipherprime.tricycle.model { import com.cipherprime.tricycle.*; import flash.events.*; import com.cipherprime.tricycle.controller.*; import com.cipherprime.tricycle.view.*; import flash.utils.*; import com.cipherprime.tricycle.router.*; public dynamic class Model { protected var _tricycle:Tricycle; private var _views:Array; private var _routers:Array; private var _controllers:Array; public var debug:Boolean;// = false public function Model(){ _tricycle = Tricycle.getInstance(); super(); _init(); } public function get controllers():Array{ return (_controllers); } public function removeListener(listener:Object):Boolean{ if (_removeListener(_routers, listener) == true){ return (true); }; if (_removeListener(_views, listener) == true){ return (true); }; if (_removeListener(_controllers, listener) == true){ return (true); }; return (false); } public function get routers():Array{ return (_routers); } public function get views():Array{ return (_views); } private function _init():void{ _routers = new Array(); _views = new Array(); _controllers = new Array(); if (_tricycle == null){ throw (new Error("Models must be instantiated in constructor or later.")); }; if (("eventEnterFrame" in this)){ tricycle.stage.addEventListener(Event.ENTER_FRAME, this.eventEnterFrame, false, 0, true); }; } public function dispatchModelEvent(event:String):void{ _updateListeners(_routers, event); _updateListeners(_views, event); _updateListeners(_controllers, event); } public function addListener(listener:Object):Boolean{ if ((listener is Router)){ if (_checkListenerAvailability(_routers, listener) == false){ return (false); }; _routers.push(listener); } else { if ((listener is View)){ if (_checkListenerAvailability(_views, listener) == false){ return (false); }; _views.push(listener); } else { if ((listener is Controller)){ if (_checkListenerAvailability(_controllers, listener) == false){ return (false); }; _controllers.push(listener); } else { throw (new Error("addListener Method can only be used on Tricycle Views and Controllers")); }; }; }; return (true); } private function _removeListener(type:Array, listener:Object):Boolean{ var i:Number = 0; while (i < type.length) { if (type[i] == listener){ type.splice(i, 1); return (true); }; i++; }; return (false); } private function _updateListeners(type:Array, event:String):void{ var object:Object; var eventName:String; var className:String; var i:Number = 0; while (i < type.length) { object = type[i]; eventName = ((((getQualifiedClassName(object).substring((getQualifiedClassName(object).lastIndexOf(":") + 1)) + ": ") + getQualifiedClassName(this).substring((getQualifiedClassName(this).lastIndexOf(":") + 1))) + ".") + event); className = getQualifiedClassName(this).substring((getQualifiedClassName(this).lastIndexOf(":") + 1)); object.event = eventName; if ((object is Router)){ if ((((("event_" + className) + "_") + event) in object)){ var _local7 = object; _local7[((("event_" + className) + "_") + event)](); } else { object.onModelEvent(); }; } else { if ((("event_" + event) in object)){ _local7 = object; _local7[("event_" + event)](); } else { object.onModelEvent(); }; }; i++; }; } public function get tricycle():Tricycle{ return (_tricycle); } private function _checkListenerAvailability(type:Array, listener:Object):Boolean{ var i:Number = 0; while (i < type.length) { if (type[i] == listener){ return (false); }; i++; }; return (true); } } }//package com.cipherprime.tricycle.model
Section 146
//Router (com.cipherprime.tricycle.router.Router) package com.cipherprime.tricycle.router { import com.cipherprime.tricycle.*; import com.cipherprime.tricycle.model.*; public class Router { protected var _tricycle:Tricycle; private var _models:Array; public var debug:Boolean;// = false protected var _event:String; public function Router(){ _tricycle = Tricycle.getInstance(); super(); _models = new Array(); if (_tricycle == null){ throw (new Error("Routers must be instantiated in constructor or later.")); }; } public function get tricycle():Tricycle{ return (_tricycle); } public function set event(e:String):void{ _event = e; } protected function removeModel(m:Model):Boolean{ var i:Number; if (m.removeListener(this)){ i = 0; while (i < _models.length) { if (_models[i] == m){ _models.splice(i, 1); return (true); }; i++; }; return (false); }; return (false); } protected function addModel(m:Model):Boolean{ if (m.addListener(this)){ _models.push(m); return (true); }; return (false); } public function get models():Array{ return (_models); } protected function addModels(... _args):void{ var i:Number = 0; while (i < _args.length) { if ((_args[i] is Model)){ addModel(_args[i]); }; i++; }; } protected function removeModels(... _args):void{ var i:Number = 0; while (i < _args.length) { removeModel(_args[i]); i++; }; } public function onModelEvent():void{ if (debug){ trace(event); }; } public function get event():String{ return (_event); } } }//package com.cipherprime.tricycle.router
Section 147
//AudioHelper (com.cipherprime.tricycle.utils.helpers.AudioHelper) package com.cipherprime.tricycle.utils.helpers { import flash.net.*; import flash.media.*; public class AudioHelper extends Helper { private var _volume:Number;// = 0 public var audioTransform:SoundTransform; public var name:String; public var audioChannel:SoundChannel; public var audio:Sound; private var _pauseTime:Number;// = 0 private var _positionTolerance:Number;// = 100 public var audioContext:SoundLoaderContext; public function AudioHelper(fileUrl:String){ audio = new Sound(); audioChannel = new SoundChannel(); audioTransform = new SoundTransform(); audioContext = new SoundLoaderContext(4000, false); super(); _url = fileUrl; } public function stop():void{ if (audioChannel){ audioChannel.stop(); }; } public function play(loop:Number=1):void{ if (loop <= 0){ loop = int.MAX_VALUE; }; audioChannel = audio.play(0, loop, audioTransform); } public function get volume():Number{ return (_volume); } public function load():void{ var req:URLRequest = new URLRequest(_url); _loaderObject = audio; _addListeners(); audio.load(req, audioContext); } public function get position():Number{ return (audioChannel.position); } public function resume():void{ audioChannel = audio.play(_pauseTime, 1, audioTransform); } public function set volume(value:Number):void{ _volume = value; audioTransform.volume = _volume; if (audioChannel){ audioChannel.soundTransform = audioTransform; }; } public function get length():Number{ return (audio.length); } public function pause():void{ _pauseTime = audioChannel.position; stop(); } public function isAt(pos:Number):Boolean{ return ((Math.abs((position - pos)) < _positionTolerance)); } } }//package com.cipherprime.tricycle.utils.helpers
Section 148
//Helper (com.cipherprime.tricycle.utils.helpers.Helper) package com.cipherprime.tricycle.utils.helpers { import flash.events.*; public class Helper extends EventDispatcher { public var onIoError:Function; public var onLoad:Function; public var onProgress:Function; protected var _url:String; protected var _loaderObject:EventDispatcher; public static var LOADED:String = "Loaded"; public static var PROGRESS:String = "Progress"; public static var IO_ERROR:String = "IoError"; public function Helper(){ super(); } protected function _onLoadComplete(e:Event):void{ _removeListeners(); if (onLoad != null){ onLoad(); }; dispatchEvent(new Event(LOADED)); } protected function _onIoError(e:IOErrorEvent):void{ _removeListeners(); trace(((this + ": ") + e.text)); if (onIoError != null){ onIoError(); }; dispatchEvent(new Event(IO_ERROR)); } protected function _onProgress(e:ProgressEvent):void{ if (onProgress != null){ onProgress(); }; dispatchEvent(new Event(PROGRESS)); } public function get url():String{ return (_url); } public function get percentLoaded():Number{ if (((_loaderObject) && (("bytesLoaded" in _loaderObject)))){ return ((_loaderObject["bytesLoaded"] / _loaderObject["bytesTotal"])); }; return (0); } protected function _removeListeners():void{ if (_loaderObject){ _loaderObject.removeEventListener(Event.COMPLETE, _onLoadComplete); _loaderObject.removeEventListener(ProgressEvent.PROGRESS, _onProgress); _loaderObject.removeEventListener(IOErrorEvent.IO_ERROR, _onIoError); }; } protected function _addListeners():void{ if (_loaderObject){ _loaderObject.addEventListener(Event.COMPLETE, _onLoadComplete); _loaderObject.addEventListener(ProgressEvent.PROGRESS, _onProgress); _loaderObject.addEventListener(IOErrorEvent.IO_ERROR, _onIoError); }; } } }//package com.cipherprime.tricycle.utils.helpers
Section 149
//MovieHelper (com.cipherprime.tricycle.utils.helpers.MovieHelper) package com.cipherprime.tricycle.utils.helpers { import flash.events.*; import flash.display.*; import flash.net.*; public class MovieHelper extends Helper { private var _movie:DisplayObject; private var _loader:Loader; public function MovieHelper(fileUrl:String){ super(); _loader = new Loader(); _url = fileUrl; } public function get movie():DisplayObject{ return (_movie); } public function load():void{ _loaderObject = _loader.contentLoaderInfo; _addListeners(); _loader.load(new URLRequest(_url)); } override protected function _onLoadComplete(e:Event):void{ _movie = _loader.content; super._onLoadComplete(e); } } }//package com.cipherprime.tricycle.utils.helpers
Section 150
//XmlHelper (com.cipherprime.tricycle.utils.helpers.XmlHelper) package com.cipherprime.tricycle.utils.helpers { import flash.events.*; import flash.net.*; public class XmlHelper extends Helper { public var noCache:Boolean;// = false private var _requestString:String;// = "" public var request:Object; private var _request:URLRequest; private var _loader:URLLoader; private var _xml:XML; private var _lastRequest:String;// = "" public function XmlHelper(fileUrl:String){ super(); _url = fileUrl; request = new Object(); } public function load():void{ if (noCache){ request["randomid"] = Math.round((Math.random() * 1000)); }; _compileRequest(); _request = new URLRequest(_lastRequest); _loader = new URLLoader(_request); _loaderObject = _loader; _addListeners(); } public function get lastRequest():String{ return (_lastRequest); } public function get xml():XML{ return (_xml); } private function _compileRequest():void{ var key:String; _requestString = "?"; for (key in request) { _requestString = (_requestString + (((key + "=") + request[key]) + "&")); }; _requestString = _requestString.substring(0, (_requestString.length - 1)); _lastRequest = (url + _requestString); } override protected function _onLoadComplete(e:Event):void{ _xml = new XML(e.target.data); super._onLoadComplete(e); } } }//package com.cipherprime.tricycle.utils.helpers
Section 151
//View (com.cipherprime.tricycle.view.View) package com.cipherprime.tricycle.view { import com.cipherprime.tricycle.*; import com.cipherprime.tricycle.model.*; import com.cipherprime.tricycle.controller.*; import flash.display.*; public dynamic class View { protected var _tricycle:Tricycle; protected var _event:String; protected var _controller:Controller; protected var _model:Model; public var debug:Boolean;// = false public function View(m:Model, c:Controller){ _tricycle = Tricycle.getInstance(); super(); model = m; controller = c; if (_tricycle == null){ throw (new Error("Views must be instantiated in constructor or later.")); }; } public function set event(event:String):void{ if ((arguments.callee is Model)){ _event = event; }; } public function defaultController(model:Model):Controller{ return (null); } public function get event():String{ return (_event); } public function get model():Model{ return (_model); } public function get tricycle():Tricycle{ return (_tricycle); } public function onModelEvent():void{ if (debug){ trace(event); }; } public function get root():DisplayObject{ return (tricycle.root); } public function set model(m:Model):void{ if (m !== null){ if (model != null){ model.removeListener(this); }; _model = m; model.addListener(this); }; } public function set controller(c:Controller):void{ if (c !== null){ _controller = c; controller.view = this; }; } public function get controller():Controller{ if (_controller === null){ controller = defaultController(model); }; return (_controller); } public function get stage():Stage{ return (tricycle.stage); } } }//package com.cipherprime.tricycle.view
Section 152
//Tricycle (com.cipherprime.tricycle.Tricycle) package com.cipherprime.tricycle { import flash.display.*; public dynamic class Tricycle extends MovieClip { private static var _instance:Tricycle; public function Tricycle(){ super(); if (_instance){ throw (new Error("Tricycle is a Singleton Class and can only be accessed through ClassName.getInstance() because it has already been instantiated elsewhere.")); }; _instance = this; } public static function getInstance():Tricycle{ return (_instance); } } }//package com.cipherprime.tricycle
Section 153
//TextDisplay (com.cipherprime.utils.display.TextDisplay) package com.cipherprime.utils.display { import flash.text.*; public class TextDisplay extends TextField { public function TextDisplay(){ super(); var textFormat:TextFormat = new TextFormat(); textFormat.font = "Verdana"; textFormat.size = 12; textFormat.color = 0xFFFFFF; textFormat.leading = 10; defaultTextFormat = textFormat; mouseEnabled = false; multiline = true; autoSize = TextFieldAutoSize.LEFT; } } }//package com.cipherprime.utils.display
Section 154
//TextInput (com.cipherprime.utils.display.TextInput) package com.cipherprime.utils.display { import flash.events.*; import flash.display.*; import flash.utils.*; public class TextInput extends MovieClip { public var tf:TextDisplay; public var cursorOn:Boolean;// = false public var cursor:Sprite; public static const CANCELED:String = "Canceled"; public static const ENTERED:String = "Entered"; public function TextInput(defaultText:String=""){ var defaultText = defaultText; super(); tf = new TextDisplay(); tf.text = defaultText; addChild(tf); cursor = new Sprite(); cursor.graphics.lineStyle(1, 0xFFFFFF); cursor.graphics.lineTo(0, 14); addChild(cursor); var t:Timer = new Timer(500); t.addEventListener(TimerEvent.TIMER, function (e:TimerEvent):void{ cursor.visible = cursorOn; cursorOn = !(cursorOn); }); t.start(); addEventListener(Event.ENTER_FRAME, function (e:Event):void{ cursor.x = (tf.textWidth + 4); }); addEventListener(Event.ADDED_TO_STAGE, function (e:Event):void{ stage.addEventListener(KeyboardEvent.KEY_DOWN, keyHandler); }); } private function numToChar(num:int):String{ var codex:String; if ((((num > 31)) && ((num < 127)))){ codex = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"; return (codex.charAt((num - 32))); }; return (""); } public function keyHandler(e:KeyboardEvent):void{ switch (e.keyCode){ case 8: tf.text = tf.text.substr(0, (tf.text.length - 1)); break; case 13: dispatchEvent(new Event(ENTERED)); break; case 27: dispatchEvent(new Event(CANCELED)); break; default: tf.appendText(numToChar(e.charCode)); }; } } }//package com.cipherprime.utils.display
Section 155
//Cipher (com.cipherprime.utils.Cipher) package com.cipherprime.utils { public class Cipher { private var _array:Array; public function Cipher(... _args){ super(); _array = new Array(); _array.concat(_args); } public function extractAll(classType:Class):Cipher{ var o:*; var extractCipher:Cipher = getAll(classType); for each (o in extractCipher.list) { remove(o); }; return (extractCipher); } public function add(o):void{ _array.push(o); } public function getIndexOf(o:Object):uint{ var i:uint; while (i < _array.length) { if (_array[i] == o){ return (i); }; i++; }; return (null); } public function killAll():void{ var l:Number = length; var i:Number = 0; while (i < l) { delete ??getglobalscope [_array.pop()]; i++; }; } public function remove(o=null){ var i:uint; if (o == null){ return (_array.pop()); }; i = 0; while (i < _array.length) { if (_array[i] == o){ return (removeAt(i)); }; i++; }; return (false); } public function get list():Array{ return (_array); } public function get length():Number{ return (_array.length); } public function getAll(classType:Class):Cipher{ var o:*; var getCipher:Cipher = new Cipher(); for each (o in list) { if ((o is classType)){ getCipher.add(o); }; }; return (getCipher); } public function clone():Cipher{ return (new Cipher(list)); } public function destroyAt(i:uint):void{ } public function getAt(i:uint){ return (_array[i]); } public function killAt(i:uint):void{ delete ??getglobalscope [removeAt(i)]; } public function removeAt(i:uint){ return (_array.splice(i, 1)); } public function destroy(o:Object):void{ } public function concat(c:Cipher):Cipher{ var o:*; for each (o in c.list) { add(o); }; return (this); } public function removeAll():void{ _array = new Array(); } public function kill(o:Object):void{ delete ??getglobalscope [remove(o)]; } public function setAll(property:String, value):void{ var element:Object; var i:Number = 0; while (i < length) { element = _array[i]; if ((property in element)){ element[property] = value; }; i++; }; } } }//package com.cipherprime.utils
Section 156
//Convert (com.cipherprime.utils.Convert) package com.cipherprime.utils { import flash.utils.*; import flash.geom.*; public class Convert { public function Convert(){ super(); } public static function objectToClassName(o):String{ return (getQualifiedClassName(o).substring((getQualifiedClassName(o).lastIndexOf(":") + 1))); } public static function stringToPoint(s:String):Point{ var a:Array = s.split(","); return (new Point(a[0], a[1])); } } }//package com.cipherprime.utils
Section 157
//Menu (com.cipherprime.utils.Menu) package com.cipherprime.utils { import com.cipherprime.tricycle.*; import flash.events.*; import flash.display.*; import com.cipherprime.utils.display.*; public class Menu extends MovieClip { private var _pages:Array; private var _delimiter:String;// = ", " private var _background:Sprite; private var _maxItems:Number;// = 9 private var _options:Array; private var _prevOption:MenuOption; private var _currentPage:Number;// = 0 public var text:String; private var _nextOption:MenuOption; public var status:TextDisplay; public function Menu(menuLabel, ... _args){ var page:Array; var breakpoint:Number; super(); _pages = new Array(); _options = new Array(); _prevOption = new MenuOption("<i>&lt;PREV</i>", prevPage); _nextOption = new MenuOption("<i>NEXT&gt;</i>", nextPage); _background = new Sprite(); _background.graphics.lineStyle(0, 0xFFFFFF); _background.graphics.beginFill(0, 1); _background.graphics.drawRect(0, 0, 10, 10); _background.graphics.endFill(); _background.alpha = 0; addChild(_background); status = new TextDisplay(); addChild(status); if ((menuLabel is String)){ text = menuLabel; } else { if ((menuLabel is Function)){ text = menuLabel(); }; }; if ((_args[0] is Array)){ var items:Array = _args[0]; }; var firstPage:Boolean; while (_args.length) { page = new Array(); if (firstPage){ if (_args.length == _maxItems){ page = page.concat(_args.splice(0, _maxItems)); } else { page = page.concat(_args.splice(0, (_maxItems - 1))); }; firstPage = false; } else { page.push(_prevOption); if (_args.length == (_maxItems - 1)){ page = page.concat(_args.splice(0, (_maxItems - 1))); } else { page = page.concat(_args.splice(0, (_maxItems - 2))); }; }; if (_args.length){ page.push(_nextOption); }; _pages.push(page); }; } public function cancel():void{ Tricycle.getInstance().stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyHandler); _currentPage = 0; parent.removeChild(this); } public function prevPage():Boolean{ if ((_currentPage - 1) >= 0){ _currentPage--; renderPage(); }; return (true); } public function renderPage():void{ status.htmlText = (("<b>" + text) + "</b>: "); var i:Number = 0; while (i < _pages[_currentPage].length) { status.htmlText = (status.htmlText + ((("(" + (i + 1)) + ") ") + _pages[_currentPage][i].text)); _options[(49 + i)] = _pages[_currentPage][i]; i++; }; _background.width = (status.textWidth + 10); _background.height = (status.textHeight + 10); _background.alpha = 0.5; } public function start():void{ renderPage(); Tricycle.getInstance().stage.addEventListener(KeyboardEvent.KEY_DOWN, keyHandler); } public function keyHandler(e:KeyboardEvent):void{ switch (e.keyCode){ case 192: break; case 27: cancel(); break; }; if (_options[e.keyCode]){ if ((_options[e.keyCode] is Menu)){ switchMenu(_options[e.keyCode]); } else { if ((_options[e.keyCode] is MenuOption)){ if (!_options[e.keyCode].execute()){ cancel(); }; }; }; }; } public function nextPage():Boolean{ if ((_currentPage + 1) < _pages.length){ _currentPage++; renderPage(); }; return (true); } public function switchMenu(option:Menu):void{ parent.addChild(option); option.start(); cancel(); } } }//package com.cipherprime.utils
Section 158
//MenuOption (com.cipherprime.utils.MenuOption) package com.cipherprime.utils { public class MenuOption { private var _action:Function; private var _text:String; public function MenuOption(text:String, action:Function){ super(); _text = text; _action = action; } public function execute():Boolean{ return (_action()); } public function get text():String{ return (_text); } } }//package com.cipherprime.utils
Section 159
//Bounce (com.gs.easing.Bounce) package com.gs.easing { public class Bounce { public function Bounce(){ super(); } public static function easeOut(t:Number, b:Number, c:Number, d:Number):Number{ t = (t / d); if (t < (1 / 2.75)){ return (((c * ((7.5625 * t) * t)) + b)); }; if (t < (2 / 2.75)){ t = (t - (1.5 / 2.75)); return (((c * (((7.5625 * t) * t) + 0.75)) + b)); }; if (t < (2.5 / 2.75)){ t = (t - (2.25 / 2.75)); return (((c * (((7.5625 * t) * t) + 0.9375)) + b)); }; t = (t - (2.625 / 2.75)); return (((c * (((7.5625 * t) * t) + 0.984375)) + b)); } public static function easeIn(t:Number, b:Number, c:Number, d:Number):Number{ return (((c - easeOut((d - t), 0, c, d)) + b)); } public static function easeInOut(t:Number, b:Number, c:Number, d:Number):Number{ if (t < (d / 2)){ return (((easeIn((t * 2), 0, c, d) * 0.5) + b)); }; return ((((easeOut(((t * 2) - d), 0, c, d) * 0.5) + (c * 0.5)) + b)); } } }//package com.gs.easing
Section 160
//TweenLite (com.gs.TweenLite) package com.gs { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.media.*; public class TweenLite { public var delay:Number; protected var _initted:Boolean; protected var _subTweens:Array; public var startTime:int; public var target:Object; public var duration:Number; protected var _hst:Boolean; protected var _active:Boolean; public var tweens:Array; public var vars:Object; public var initTime:int; private static var _timer:Timer = new Timer(2000); private static var _classInitted:Boolean; public static var defaultEase:Function = TweenLite.easeOut; public static var version:Number = 6.22; private static var _sprite:Sprite = new Sprite(); protected static var _all:Dictionary = new Dictionary(); public static var killDelayedCallsTo:Function = killTweensOf; protected static var _curTime:uint; private static var _listening:Boolean; public function TweenLite($target:Object, $duration:Number, $vars:Object){ super(); if ($target == null){ return; }; if (((((!(($vars.overwrite == false))) && (!(($target == null))))) || ((_all[$target] == undefined)))){ delete _all[$target]; _all[$target] = new Dictionary(); }; _all[$target][this] = this; this.vars = $vars; this.duration = (($duration) || (0.001)); this.delay = (($vars.delay) || (0)); this.target = $target; if (!(this.vars.ease is Function)){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; if (!isNaN(Number(this.vars.autoAlpha))){ this.vars.alpha = Number(this.vars.autoAlpha); }; this.tweens = []; _subTweens = []; _hst = (_initted = false); _active = ((($duration == 0)) && ((this.delay == 0))); if (!_classInitted){ _curTime = getTimer(); _sprite.addEventListener(Event.ENTER_FRAME, executeAll); _classInitted = true; }; this.initTime = _curTime; if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (_active))){ initTweenVals(); this.startTime = _curTime; if (_active){ render((this.startTime + 1)); } else { render(this.startTime); }; }; if (((!(_listening)) && (!(_active)))){ _timer.addEventListener("timer", killGarbage); _timer.start(); _listening = true; }; } protected function addSubTween($proxy:Function, $target:Object, $props:Object, $info:Object=null):void{ var p:String; var sub:Object = {proxy:$proxy, target:$target, info:$info}; _subTweens.push(sub); for (p in $props) { if ($target.hasOwnProperty(p)){ if (typeof($props[p]) == "number"){ this.tweens.push({o:$target, p:p, s:$target[p], c:($props[p] - $target[p]), sub:sub}); } else { this.tweens.push({o:$target, p:p, s:$target[p], c:Number($props[p]), sub:sub}); }; }; }; _hst = true; } public function initTweenVals($hrp:Boolean=false, $reservedProps:String=""):void{ var p:String; var i:int; var endArray:Array; var clr:ColorTransform; var endClr:ColorTransform; var tp:Object; var isDO = (this.target is DisplayObject); if ((this.target is Array)){ endArray = ((this.vars.endArray) || ([])); i = 0; while (i < endArray.length) { if (((!((this.target[i] == endArray[i]))) && (!((this.target[i] == undefined))))){ this.tweens.push({o:this.target, p:i.toString(), s:this.target[i], c:(endArray[i] - this.target[i])}); }; i++; }; } else { for (p in this.vars) { if ((((((((((((((((((((((((((((((((((((p == "ease")) || ((p == "delay")))) || ((p == "overwrite")))) || ((p == "onComplete")))) || ((p == "onCompleteParams")))) || ((p == "onCompleteScope")))) || ((p == "runBackwards")))) || ((p == "onUpdate")))) || ((p == "onUpdateParams")))) || ((p == "onUpdateScope")))) || ((p == "autoAlpha")))) || ((p == "onStart")))) || ((p == "onStartParams")))) || ((p == "onStartScope")))) || ((p == "renderOnStart")))) || ((p == "proxiedEase")))) || ((p == "easeParams")))) || ((($hrp) && (!(($reservedProps.indexOf(((" " + p) + " ")) == -1))))))){ } else { if ((((p == "tint")) && (isDO))){ clr = this.target.transform.colorTransform; endClr = new ColorTransform(); if (this.vars.alpha != undefined){ endClr.alphaMultiplier = this.vars.alpha; delete this.vars.alpha; i = (this.tweens.length - 1); while (i > -1) { if (this.tweens[i].p == "alpha"){ this.tweens.splice(i, 1); break; }; i--; }; } else { endClr.alphaMultiplier = this.target.alpha; }; if (((((!((this.vars[p] == null))) && (!((this.vars[p] == ""))))) || ((this.vars[p] == 0)))){ endClr.color = this.vars[p]; }; addSubTween(tintProxy, {progress:0}, {progress:1}, {target:this.target, color:clr, endColor:endClr}); } else { if ((((p == "frame")) && (isDO))){ addSubTween(frameProxy, {frame:this.target.currentFrame}, {frame:this.vars[p]}, {target:this.target}); } else { if ((((p == "volume")) && (((isDO) || ((this.target is SoundChannel)))))){ addSubTween(volumeProxy, this.target.soundTransform, {volume:this.vars[p]}, {target:this.target}); } else { if (typeof(this.vars[p]) == "number"){ this.tweens.push({o:this.target, p:p, s:this.target[p], c:(this.vars[p] - this.target[p])}); } else { this.tweens.push({o:this.target, p:p, s:this.target[p], c:Number(this.vars[p])}); }; }; }; }; }; }; }; if (this.vars.runBackwards == true){ i = (this.tweens.length - 1); while (i > -1) { tp = this.tweens[i]; tp.s = (tp.s + tp.c); tp.c = (tp.c * -1); i--; }; }; if (typeof(this.vars.autoAlpha) == "number"){ this.target.visible = !((((this.vars.runBackwards == true)) && ((this.target.alpha == 0)))); }; _initted = true; } public function get active():Boolean{ if (_active){ return (true); }; if (((_curTime - this.initTime) / 1000) > this.delay){ _active = true; this.startTime = (this.initTime + (this.delay * 1000)); if (!_initted){ initTweenVals(); } else { if (typeof(this.vars.autoAlpha) == "number"){ this.target.visible = true; }; }; if (this.vars.onStart != null){ this.vars.onStart.apply(this.vars.onStartScope, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; return (true); //unresolved jump }; return (false); } public function render($t:uint):void{ var tp:Object; var i:int; var time:Number = (($t - this.startTime) / 1000); if (time > this.duration){ time = this.duration; }; var factor:Number = this.vars.ease(time, 0, 1, this.duration); i = (this.tweens.length - 1); while (i > -1) { tp = this.tweens[i]; tp.o[tp.p] = (tp.s + (factor * tp.c)); i--; }; if (_hst){ i = (_subTweens.length - 1); while (i > -1) { _subTweens[i].proxy(_subTweens[i]); i--; }; }; if (this.vars.onUpdate != null){ this.vars.onUpdate.apply(this.vars.onUpdateScope, this.vars.onUpdateParams); }; if (time == this.duration){ complete(true); }; } protected function easeProxy($t:Number, $b:Number, $c:Number, $d:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function complete($skipRender:Boolean=false):void{ if (!$skipRender){ if (!_initted){ initTweenVals(); }; this.startTime = (_curTime - (this.duration * 1000)); render(_curTime); return; }; if ((((typeof(this.vars.autoAlpha) == "number")) && ((this.target.alpha == 0)))){ this.target.visible = false; }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(this.vars.onCompleteScope, this.vars.onCompleteParams); }; removeTween(this); } public static function easeOut($t:Number, $b:Number, $c:Number, $d:Number):Number{ $t = ($t / $d); return ((((-($c) * $t) * ($t - 2)) + $b)); } public static function frameProxy($o:Object):void{ $o.info.target.gotoAndStop(Math.round($o.target.frame)); } public static function removeTween($t:TweenLite=null):void{ if (((!(($t == null))) && (!((_all[$t.target] == undefined))))){ delete _all[$t.target][$t]; }; } public static function killTweensOf($tg:Object=null, $complete:Boolean=false):void{ var o:Object; var tw:*; if (((!(($tg == null))) && (!((_all[$tg] == undefined))))){ if ($complete){ o = _all[$tg]; for (tw in o) { o[tw].complete(false); }; }; delete _all[$tg]; }; } public static function delayedCall($delay:Number, $onComplete:Function, $onCompleteParams:Array=null, $onCompleteScope=null):TweenLite{ return (new TweenLite($onComplete, 0, {delay:$delay, onComplete:$onComplete, onCompleteParams:$onCompleteParams, onCompleteScope:$onCompleteScope, overwrite:false})); } public static function from($target:Object, $duration:Number, $vars:Object):TweenLite{ $vars.runBackwards = true; return (new TweenLite($target, $duration, $vars)); } public static function executeAll($e:Event=null):void{ var a:Dictionary; var p:Object; var tw:Object; var t:uint = (_curTime = getTimer()); if (_listening){ a = _all; for each (p in a) { for (tw in p) { if (((!((p[tw] == undefined))) && (p[tw].active))){ p[tw].render(t); }; }; }; }; } public static function volumeProxy($o:Object):void{ $o.info.target.soundTransform = $o.target; } public static function killGarbage($e:TimerEvent):void{ var found:Boolean; var p:Object; var twp:Object; var tw:Object; var tg_cnt:uint; for (p in _all) { found = false; for (twp in _all[p]) { found = true; break; }; if (!found){ delete _all[p]; } else { tg_cnt++; }; }; if (tg_cnt == 0){ _timer.removeEventListener("timer", killGarbage); _timer.stop(); _listening = false; }; } public static function tintProxy($o:Object):void{ var n:Number = $o.target.progress; var r:Number = (1 - n); var sc:Object = $o.info.color; var ec:Object = $o.info.endColor; $o.info.target.transform.colorTransform = new ColorTransform(((sc.redMultiplier * r) + (ec.redMultiplier * n)), ((sc.greenMultiplier * r) + (ec.greenMultiplier * n)), ((sc.blueMultiplier * r) + (ec.blueMultiplier * n)), ((sc.alphaMultiplier * r) + (ec.alphaMultiplier * n)), ((sc.redOffset * r) + (ec.redOffset * n)), ((sc.greenOffset * r) + (ec.greenOffset * n)), ((sc.blueOffset * r) + (ec.blueOffset * n)), ((sc.alphaOffset * r) + (ec.alphaOffset * n))); } public static function to($target:Object, $duration:Number, $vars:Object):TweenLite{ return (new TweenLite($target, $duration, $vars)); } } }//package com.gs
Section 161
//FrameRater (com.oaxoa.FrameRater) package com.oaxoa { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.filters.*; import flash.text.*; public class FrameRater extends Sprite { private var _timer:Timer; private var _dropShadow:DropShadowFilter; private var _graph:Sprite; private var _tf:TextFormat; private var _showGraph:Boolean; private var _text:TextField; private var _graphColor:uint; private var _c:uint;// = 0 private var _graphCounter:uint; private var _graphBox:Sprite; public function FrameRater(textColor:uint=0, drawShadow:Boolean=false, showGraph:Boolean=true, graphColor:uint=0xFF0000){ super(); _showGraph = showGraph; _graphColor = graphColor; if (_showGraph){ initGraph(); }; _dropShadow = new DropShadowFilter(1, 90, 0, 1, 2, 2); _tf = new TextFormat(); _tf.color = textColor; _tf.font = "_sans"; _tf.size = 11; _text = new TextField(); _text.width = 100; _text.height = 20; _text.x = 3; if (drawShadow){ _text.filters = [_dropShadow]; }; addChild(_text); _timer = new Timer(500); _timer.addEventListener(TimerEvent.TIMER, onTimer); _timer.start(); addEventListener(Event.ENTER_FRAME, onFrame); } public function updateGraph(n:Number):void{ if (_graphCounter > 30){ _graph.x--; }; _graphCounter++; _graph.graphics.lineTo(_graphCounter, (1 + ((stage.frameRate - n) / 3))); } private function onFrame(event:Event):void{ _c++; } private function initGraph():void{ _graphCounter = 0; _graph = new Sprite(); _graphBox = new Sprite(); _graphBox.graphics.beginFill(0xFF0000); _graphBox.graphics.drawRect(0, 0, 36, 100); _graphBox.graphics.endFill(); _graph.mask = _graphBox; _graph.x = (_graphBox.x = 5); _graph.y = (_graphBox.y = 20); _graph.graphics.lineStyle(1, _graphColor); addChild(_graph); addChild(_graphBox); } private function onTimer(event:TimerEvent):void{ var val:Number = computeTime(); _text.text = (Math.floor(val).toString() + " fps"); _text.setTextFormat(_tf); _text.autoSize = "left"; if (_showGraph){ updateGraph(val); }; } public function computeTime():Number{ var retValue:uint = _c; _c = 0; return (((retValue * 2) - 1)); } } }//package com.oaxoa
Section 162
//EdgeMetrics (mx.core.EdgeMetrics) package mx.core { public class EdgeMetrics { public var top:Number; public var left:Number; public var bottom:Number; public var right:Number; mx_internal static const VERSION:String = "3.0.0.0"; public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0); ; public function EdgeMetrics(left:Number=0, top:Number=0, right:Number=0, bottom:Number=0){ super(); this.left = left; this.top = top; this.right = right; this.bottom = bottom; } public function clone():EdgeMetrics{ return (new EdgeMetrics(left, top, right, bottom)); } } }//package mx.core
Section 163
//FlexMovieClip (mx.core.FlexMovieClip) package mx.core { import flash.display.*; import mx.utils.*; public class FlexMovieClip extends MovieClip { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexMovieClip(){ super(); name = NameUtil.createUniqueName(this); //unresolved jump var _slot1 = e; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 164
//FlexSprite (mx.core.FlexSprite) package mx.core { import flash.display.*; import mx.utils.*; public class FlexSprite extends Sprite { mx_internal static const VERSION:String = "3.0.0.0"; public function FlexSprite(){ super(); name = NameUtil.createUniqueName(this); //unresolved jump var _slot1 = e; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 165
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 166
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 167
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.accessibility.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get visible():Boolean; function get rotation():Number; function localToGlobal(void:Point):Point; function get name():String; function set width(flash.display:Number):void; function get measuredHeight():Number; function get blendMode():String; function get scale9Grid():Rectangle; function set name(flash.display:String):void; function set scaleX(flash.display:Number):void; function set scaleY(flash.display:Number):void; function get measuredWidth():Number; function get accessibilityProperties():AccessibilityProperties; function set scrollRect(flash.display:Rectangle):void; function get cacheAsBitmap():Boolean; function globalToLocal(void:Point):Point; function get height():Number; function set blendMode(flash.display:String):void; function get parent():DisplayObjectContainer; function getBounds(String:DisplayObject):Rectangle; function get opaqueBackground():Object; function set scale9Grid(flash.display:Rectangle):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set alpha(flash.display:Number):void; function set accessibilityProperties(flash.display:AccessibilityProperties):void; function get width():Number; function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean; function set cacheAsBitmap(flash.display:Boolean):void; function get scaleX():Number; function get scaleY():Number; function get scrollRect():Rectangle; function get mouseX():Number; function get mouseY():Number; function set height(flash.display:Number):void; function set mask(flash.display:DisplayObject):void; function getRect(String:DisplayObject):Rectangle; function get alpha():Number; function set transform(flash.display:Transform):void; function move(_arg1:Number, _arg2:Number):void; function get loaderInfo():LoaderInfo; function get root():DisplayObject; function hitTestObject(mx.core:IFlexDisplayObject/mx.core:IFlexDisplayObject:stage/get:DisplayObject):Boolean; function set opaqueBackground(flash.display:Object):void; function set visible(flash.display:Boolean):void; function get mask():DisplayObject; function set x(flash.display:Number):void; function set y(flash.display:Number):void; function get transform():Transform; function set filters(flash.display:Array):void; function get x():Number; function get y():Number; function get filters():Array; function set rotation(flash.display:Number):void; function get stage():Stage; } }//package mx.core
Section 168
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function get instanceIndices():Array; function set instanceIndices(E:\dev\3.0.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function get isDocument():Boolean; function set repeaters(E:\dev\3.0.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function initializeRepeaterArrays(E:\dev\3.0.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:IRepeaterClient):void; function get repeaters():Array; function set repeaterIndices(E:\dev\3.0.x\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 169
//MovieClipAsset (mx.core.MovieClipAsset) package mx.core { public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function MovieClipAsset(){ super(); _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(newWidth:Number, newHeight:Number):void{ width = newWidth; height = newHeight; } public function move(x:Number, y:Number):void{ this.x = x; this.y = y; } public function get borderMetrics():EdgeMetrics{ if (scale9Grid == null){ return (EdgeMetrics.EMPTY); }; return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom)))); } } }//package mx.core
Section 170
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 171
//SpriteAsset (mx.core.SpriteAsset) package mx.core { public class SpriteAsset extends FlexSprite implements IFlexAsset, IFlexDisplayObject, IBorder { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.0.0.0"; public function SpriteAsset(){ super(); _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(newWidth:Number, newHeight:Number):void{ width = newWidth; height = newHeight; } public function move(x:Number, y:Number):void{ this.x = x; this.y = y; } public function get borderMetrics():EdgeMetrics{ if (scale9Grid == null){ return (EdgeMetrics.EMPTY); }; return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom)))); } } }//package mx.core
Section 172
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import flash.utils.*; import mx.core.*; public class NameUtil { mx_internal static const VERSION:String = "3.0.0.0"; private static var counter:int = 0; public function NameUtil(){ super(); } public static function displayObjectToString(displayObject:DisplayObject):String{ var result:String; var s:String; var indices:Array; var o:DisplayObject = displayObject; while (o != null) { if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){ break; }; s = o.name; if ((o is IRepeaterClient)){ indices = IRepeaterClient(o).instanceIndices; if (indices){ s = (s + (("[" + indices.join("][")) + "]")); }; }; result = ((result == null)) ? s : ((s + ".") + result); o = o.parent; }; return (result); } public static function createUniqueName(object:Object):String{ if (!object){ return (null); }; var name:String = getQualifiedClassName(object); var index:int = name.indexOf("::"); if (index != -1){ name = name.substr((index + 2)); }; var charCode:int = name.charCodeAt((name.length - 1)); if ((((charCode >= 48)) && ((charCode <= 57)))){ name = (name + "_"); }; return ((name + counter++)); } } }//package mx.utils
Section 173
//Main (Main) package { import com.cipherprime.tricycle.*; import flash.display.*; import com.cipherprime.auditorium.models.flow.*; import com.cipherprime.auditorium.models.act.*; import com.cipherprime.auditorium.models.audio.*; import com.cipherprime.auditorium.models.level.*; import com.cipherprime.tricycle.utils.helpers.*; import com.cipherprime.auditorium.views.*; import com.cipherprime.auditorium.controllers.*; import com.cipherprime.auditorium.routers.*; import com.cipherprime.auditorium.models.editor.*; import com.cipherprime.auditorium.*; import com.cipherprime.auditorium.models.xml.*; import com.cipherprime.auditorium.models.game.*; import flash.net.*; import com.cipherprime.auditorium.models.flow.warps.*; public class Main extends Tricycle { public var fullscreenView:FullscreenView; public var flowView:FlowView; public var levelModel:LevelModel; public var layersView:LayersView; public var winSfx:AudioHelper; public var itemsView:ItemsView; public var audioController:AudioController; public var editorRouter:EditorRouter; public var flowModel:FlowModel; public var endView:EndView; public var fpsView:FPSView; public var introView:IntroView; public var editorView:EditorView; public var actModel:ActModel; public var editorModel:EditorModel; public var layers:Object; public var gameController:GameController; public var removeView:RemoveView; public var actController:ActController; public var config:Configuration; public var xmlModel:XmlModel; public var gameModel:GameModel; public var gameRouter:GameRouter; public var actView:ActView; public var trackingRouter:TrackingRouter; public var configFile:XmlHelper; public var editorController:EditorController; public var flowController:FlowController; public var continueView:ContinueView; private var _sharedObject:SharedObject; public var contextMenuView:ContextMenuView; public var globalDrag:DragWarp; public var audioModel:AudioModel; public var itemsController:ItemsController; public function Main(){ layers = {foreground:new MovieClip(), middleground:new MovieClip(), background:new MovieClip(), wallpaper:new MovieClip(), hud:new MovieClip(), removeitem:new MovieClip()}; _sharedObject = SharedObject.getLocal("gameSettings"); super(); config = new Configuration(); configFile = new XmlHelper("lib/config/config.xml"); configFile.onLoad = _onConfigurationLoaded; configFile.onIoError = _onConfigurationIoError; configFile.load(); } private function _startGame():void{ gameModel = new GameModel(); introView = new IntroView(gameModel, null); layersView = new LayersView(gameModel, null); actView = new ActView(actModel, null); fullscreenView = new FullscreenView(gameModel, null); contextMenuView = new ContextMenuView(gameModel, null); endView = new EndView(gameModel, null); continueView = new ContinueView(gameModel, null); if (config.tracking){ trackingRouter = new TrackingRouter(); }; gameRouter = new GameRouter(); gameRouter.debug = config.debug; gameModel.loadIntro(); } private function _startEditor():void{ editorModel = new EditorModel(); layersView = new LayersView(editorModel, null); removeView = new RemoveView(flowModel, null); editorView = new EditorView(editorModel, editorController); contextMenuView = new ContextMenuView(gameModel, null); editorRouter = new EditorRouter(); editorRouter.debug = config.debug; editorModel.start(); } private function _onConfigurationLoaded():void{ config.populate(configFile.xml); flowModel = new FlowModel(); audioModel = new AudioModel(); levelModel = new LevelModel(); xmlModel = new XmlModel(); actModel = new ActModel(); audioController = new AudioController(flowModel); itemsController = new ItemsController(flowModel); gameController = new GameController(gameModel); editorController = new EditorController(editorModel); actController = new ActController(actModel); itemsView = new ItemsView(flowModel, itemsController); flowView = new FlowView(flowModel, flowController); if (!_sharedObject.data.gameQuality){ flowView.quality = FlowView.HIGH_QUALITY; } else { flowView.quality = _sharedObject.data.gameQuality; }; switch (config.mode){ case Configuration.EDITOR_MODE: _startEditor(); break; case Configuration.GAME_MODE: _startGame(); break; case Configuration.WALKTHROUGH_MODE: _startWalkthrough(); break; }; } private function _onConfigurationIoError():void{ _startGame(); } private function _startWalkthrough():void{ _startGame(); } } }//package

Library Items

Symbol 1 FontUsed by:2 4 15
Symbol 2 EditableTextUses:1Used by:3
Symbol 3 MovieClipUses:2Used by:6
Symbol 4 EditableTextUses:1Used by:5
Symbol 5 MovieClipUses:4Used by:6
Symbol 6 MovieClip {com.cipherprime.auditorium.views.ActView__ActDisplay} [_ActDisplay]Uses:3 5
Symbol 7 FontUsed by:8 18
Symbol 8 EditableTextUses:7Used by:9
Symbol 9 MovieClipUses:8Used by:17
Symbol 10 GraphicUsed by:11
Symbol 11 MovieClipUses:10Used by:14
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClipUses:12Used by:14
Symbol 14 MovieClipUses:11 13Used by:17
Symbol 15 EditableTextUses:1Used by:16
Symbol 16 MovieClipUses:15Used by:17
Symbol 17 MovieClip {com.cipherprime.auditorium.views.ActView__LevelIndicator} [_LevelIndicator]Uses:9 14 16
Symbol 18 EditableTextUses:7Used by:19
Symbol 19 MovieClip {com.cipherprime.auditorium.views.FullscreenView__TopDialog} [_TopDialog]Uses:18
Symbol 20 GraphicUsed by:21
Symbol 21 MovieClipUses:20Used by:22
Symbol 22 MovieClipUses:21Used by:23
Symbol 23 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ContainerGlow} [_ContainerGlow]Uses:22Used by:30 35 40
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClipUses:24Used by:30 35 40
Symbol 26 GraphicUsed by:30
Symbol 27 GraphicUsed by:28
Symbol 28 MovieClipUses:27Used by:29
Symbol 29 MovieClipUses:28Used by:30
Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer]Uses:23 25 26 29
Symbol 31 GraphicUsed by:35
Symbol 32 GraphicUsed by:33
Symbol 33 MovieClipUses:32Used by:34
Symbol 34 MovieClipUses:33Used by:35
Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer]Uses:23 25 31 34
Symbol 36 GraphicUsed by:40
Symbol 37 GraphicUsed by:38
Symbol 38 MovieClipUses:37Used by:39
Symbol 39 MovieClipUses:38Used by:40
Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer]Uses:23 25 36 39
Symbol 41 GraphicUsed by:42
Symbol 42 MovieClipUses:41Used by:47
Symbol 43 GraphicUsed by:44
Symbol 44 MovieClipUses:43Used by:47
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClipUses:45Used by:47
Symbol 47 MovieClip {com.cipherprime.auditorium.views.item.items.Color__Color} [_Color]Uses:42 44 46
Symbol 48 GraphicUsed by:49
Symbol 49 MovieClip {com.cipherprime.auditorium.views.item.items.Fall__Fall} [_Fall]Uses:48
Symbol 50 GraphicUsed by:51
Symbol 51 MovieClipUses:50Used by:52
Symbol 52 MovieClip {com.cipherprime.auditorium.views.item.items.IonStorm__IonStorm} [_IonStorm]Uses:51
Symbol 53 GraphicUsed by:54
Symbol 54 MovieClipUses:53Used by:57 73
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClipUses:55Used by:57 73
Symbol 57 MovieClip {com.cipherprime.auditorium.views.item.items.PortalEntrance__PortalEntrance} [_PortalEntrance]Uses:54 56
Symbol 58 GraphicUsed by:59
Symbol 59 MovieClip {com.cipherprime.auditorium.views.item.items.Deflect__Deflect} [_Deflect]Uses:58
Symbol 60 GraphicUsed by:61
Symbol 61 MovieClip {com.cipherprime.auditorium.views.item.items.Rise__Rise} [_Rise]Uses:60
Symbol 62 GraphicUsed by:63
Symbol 63 MovieClip {com.cipherprime.auditorium.views.item.items.Pull__Pull} [_Pull]Uses:62
Symbol 64 GraphicUsed by:65
Symbol 65 MovieClipUses:64Used by:66
Symbol 66 MovieClip {com.cipherprime.auditorium.views.item.items.Divide__TheDivideHighLight} [_TheDivideHighLight]Uses:65
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClip {com.cipherprime.auditorium.views.item.items.Divide__TheDivideBackground} [_TheDivideBackground]Uses:67
Symbol 69 GraphicUsed by:70
Symbol 70 MovieClip {com.cipherprime.auditorium.views.item.items.Attract__Attract} [_Attract]Uses:69
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClip {com.cipherprime.auditorium.views.item.items.Repel__Repel} [_Repel]Uses:71
Symbol 73 MovieClip {com.cipherprime.auditorium.views.item.items.PortalExit__PortalExit} [_PortalExit]Uses:54 56
Symbol 74 GraphicUsed by:75
Symbol 75 MovieClip {com.cipherprime.auditorium.views.item.items.Rabbit__Rabbit} [_Rabbit]Uses:74
Symbol 76 GraphicUsed by:77
Symbol 77 MovieClip {com.cipherprime.auditorium.views.item.items.Snail__Snail} [_Snail]Uses:76
Symbol 78 GraphicUsed by:79
Symbol 79 MovieClip {com.cipherprime.auditorium.views.item.items.Push__Push} [_Push]Uses:78
Symbol 80 GraphicUsed by:81
Symbol 81 MovieClipUses:80Used by:82
Symbol 82 MovieClipUses:81Used by:83
Symbol 83 MovieClip {com.cipherprime.auditorium.views.item.items.BlackHole__BlackHole} [_BlackHole]Uses:82
Symbol 84 GraphicUsed by:85 98
Symbol 85 MovieClipUses:84Used by:86
Symbol 86 MovieClip {com.cipherprime.auditorium.views.item.items.BlackHole__BlackHoleHighlight} [_BlackHoleHighlight]Uses:85
Symbol 87 GraphicUsed by:88
Symbol 88 MovieClipUses:87Used by:97
Symbol 89 MovieClipUsed by:97
Symbol 90 GraphicUsed by:91
Symbol 91 MovieClipUses:90Used by:96
Symbol 92 GraphicUsed by:93
Symbol 93 MovieClipUses:92Used by:96
Symbol 94 GraphicUsed by:95
Symbol 95 MovieClipUses:94Used by:96
Symbol 96 MovieClipUses:91 93 95Used by:97
Symbol 97 MovieClip {com.cipherprime.auditorium.views.item.element.elements.IconContainer__IconContainer} [_IconContainer]Uses:88 89 96
Symbol 98 MovieClipUses:84Used by:104
Symbol 99 GraphicUsed by:100
Symbol 100 MovieClipUses:99Used by:104
Symbol 101 GraphicUsed by:102
Symbol 102 MovieClipUses:101Used by:103
Symbol 103 MovieClipUses:102Used by:104
Symbol 104 MovieClip {com.cipherprime.auditorium.views.item.element.elements.Radius__Radius} [_Radius]Uses:98 100 103
Symbol 105 GraphicUsed by:106
Symbol 106 MovieClipUses:105Used by:107
Symbol 107 MovieClip {com.cipherprime.auditorium.views.item.element.elements.Directional__Directional} [_Directional]Uses:106
Symbol 108 GraphicUsed by:109
Symbol 109 MovieClipUses:108Used by:110
Symbol 110 MovieClipUses:109Used by:111
Symbol 111 MovieClip {com.cipherprime.auditorium.views.item.element.elements.Moveable__Moveable} [_Moveable]Uses:110

Instance Names

"title"Symbol 3 MovieClip Frame 1Symbol 2 EditableText
"act"Symbol 5 MovieClip Frame 1Symbol 4 EditableText
"title"Symbol 6 MovieClip {com.cipherprime.auditorium.views.ActView__ActDisplay} [_ActDisplay] Frame 1Symbol 3 MovieClip
"act"Symbol 6 MovieClip {com.cipherprime.auditorium.views.ActView__ActDisplay} [_ActDisplay] Frame 1Symbol 5 MovieClip
"title"Symbol 9 MovieClip Frame 1Symbol 8 EditableText
"background"Symbol 14 MovieClip Frame 1Symbol 11 MovieClip
"progress"Symbol 14 MovieClip Frame 1Symbol 13 MovieClip
"numeric"Symbol 16 MovieClip Frame 1Symbol 15 EditableText
"title"Symbol 17 MovieClip {com.cipherprime.auditorium.views.ActView__LevelIndicator} [_LevelIndicator] Frame 1Symbol 9 MovieClip
"loader"Symbol 17 MovieClip {com.cipherprime.auditorium.views.ActView__LevelIndicator} [_LevelIndicator] Frame 1Symbol 14 MovieClip
"numeric"Symbol 17 MovieClip {com.cipherprime.auditorium.views.ActView__LevelIndicator} [_LevelIndicator] Frame 1Symbol 16 MovieClip
"dialog"Symbol 19 MovieClip {com.cipherprime.auditorium.views.FullscreenView__TopDialog} [_TopDialog] Frame 1Symbol 18 EditableText
"wedge_01"Symbol 22 MovieClip Frame 1Symbol 21 MovieClip
"wedge_06"Symbol 22 MovieClip Frame 1Symbol 21 MovieClip
"wedge_05"Symbol 22 MovieClip Frame 1Symbol 21 MovieClip
"wedge_04"Symbol 22 MovieClip Frame 1Symbol 21 MovieClip
"wedge_02"Symbol 22 MovieClip Frame 1Symbol 21 MovieClip
"wedge_03"Symbol 22 MovieClip Frame 1Symbol 21 MovieClip
"blur"Symbol 23 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ContainerGlow} [_ContainerGlow] Frame 1Symbol 22 MovieClip
"fill"Symbol 29 MovieClip Frame 1Symbol 28 MovieClip
"pulse"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 23 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ContainerGlow} [_ContainerGlow]
"background"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 25 MovieClip
"led_14"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_13"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_12"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_15"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_11"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_16"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_17"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_18"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_19"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_20"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_4"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_3"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_2"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_5"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_1"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_6"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_7"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_8"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_9"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"led_10"Symbol 30 MovieClip {com.cipherprime.auditorium.views.item.items.Container__TwoColorContainer} [_TwoColorContainer] Frame 1Symbol 29 MovieClip
"fill"Symbol 34 MovieClip Frame 1Symbol 33 MovieClip
"pulse"Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer] Frame 1Symbol 23 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ContainerGlow} [_ContainerGlow]
"background"Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer] Frame 1Symbol 25 MovieClip
"led_4"Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer] Frame 1Symbol 34 MovieClip
"led_3"Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer] Frame 1Symbol 34 MovieClip
"led_2"Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer] Frame 1Symbol 34 MovieClip
"led_5"Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer] Frame 1Symbol 34 MovieClip
"led_1"Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer] Frame 1Symbol 34 MovieClip
"led_6"Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer] Frame 1Symbol 34 MovieClip
"led_7"Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer] Frame 1Symbol 34 MovieClip
"led_8"Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer] Frame 1Symbol 34 MovieClip
"led_9"Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer] Frame 1Symbol 34 MovieClip
"led_10"Symbol 35 MovieClip {com.cipherprime.auditorium.views.item.items.Container__OneColorContainer} [_OneColorContainer] Frame 1Symbol 34 MovieClip
"fill"Symbol 39 MovieClip Frame 1Symbol 38 MovieClip
"pulse"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 23 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ContainerGlow} [_ContainerGlow]
"background"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 25 MovieClip
"led_24"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_23"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_22"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_25"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_21"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_26"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_27"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_28"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_29"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_30"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_14"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_13"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_12"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_15"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_11"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_16"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_17"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_18"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_19"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_20"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_4"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_3"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_2"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_5"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_1"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_6"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_7"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_8"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_9"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"led_10"Symbol 40 MovieClip {com.cipherprime.auditorium.views.item.items.Container__ThreeColorContainer} [_ThreeColorContainer] Frame 1Symbol 39 MovieClip
"fill"Symbol 47 MovieClip {com.cipherprime.auditorium.views.item.items.Color__Color} [_Color] Frame 1Symbol 42 MovieClip
"fill"Symbol 47 MovieClip {com.cipherprime.auditorium.views.item.items.Color__Color} [_Color] Frame 2Symbol 44 MovieClip
"fill"Symbol 47 MovieClip {com.cipherprime.auditorium.views.item.items.Color__Color} [_Color] Frame 3Symbol 46 MovieClip
"background"Symbol 97 MovieClip {com.cipherprime.auditorium.views.item.element.elements.IconContainer__IconContainer} [_IconContainer] Frame 1Symbol 88 MovieClip
"container"Symbol 97 MovieClip {com.cipherprime.auditorium.views.item.element.elements.IconContainer__IconContainer} [_IconContainer] Frame 1Symbol 89 MovieClip
"glair"Symbol 97 MovieClip {com.cipherprime.auditorium.views.item.element.elements.IconContainer__IconContainer} [_IconContainer] Frame 1Symbol 96 MovieClip
"fill"Symbol 104 MovieClip {com.cipherprime.auditorium.views.item.element.elements.Radius__Radius} [_Radius] Frame 1Symbol 98 MovieClip
"border"Symbol 104 MovieClip {com.cipherprime.auditorium.views.item.element.elements.Radius__Radius} [_Radius] Frame 1Symbol 100 MovieClip
"handle"Symbol 104 MovieClip {com.cipherprime.auditorium.views.item.element.elements.Radius__Radius} [_Radius] Frame 1Symbol 103 MovieClip
"pointer"Symbol 107 MovieClip {com.cipherprime.auditorium.views.item.element.elements.Directional__Directional} [_Directional] Frame 1Symbol 106 MovieClip
"animation"Symbol 110 MovieClip Frame 1Symbol 109 MovieClip
"arrows"Symbol 111 MovieClip {com.cipherprime.auditorium.views.item.element.elements.Moveable__Moveable} [_Moveable] Frame 1Symbol 110 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1459 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 1Symbol 6 as "_ActDisplay"
ExportAssets (56)Timeline Frame 1Symbol 17 as "_LevelIndicator"
ExportAssets (56)Timeline Frame 1Symbol 19 as "_TopDialog"
ExportAssets (56)Timeline Frame 1Symbol 30 as "_TwoColorContainer"
ExportAssets (56)Timeline Frame 1Symbol 35 as "_OneColorContainer"
ExportAssets (56)Timeline Frame 1Symbol 40 as "_ThreeColorContainer"
ExportAssets (56)Timeline Frame 1Symbol 23 as "_ContainerGlow"
ExportAssets (56)Timeline Frame 1Symbol 47 as "_Color"
ExportAssets (56)Timeline Frame 1Symbol 49 as "_Fall"
ExportAssets (56)Timeline Frame 1Symbol 52 as "_IonStorm"
ExportAssets (56)Timeline Frame 1Symbol 57 as "_PortalEntrance"
ExportAssets (56)Timeline Frame 1Symbol 59 as "_Deflect"
ExportAssets (56)Timeline Frame 1Symbol 61 as "_Rise"
ExportAssets (56)Timeline Frame 1Symbol 63 as "_Pull"
ExportAssets (56)Timeline Frame 1Symbol 66 as "_TheDivideHighLight"
ExportAssets (56)Timeline Frame 1Symbol 68 as "_TheDivideBackground"
ExportAssets (56)Timeline Frame 1Symbol 70 as "_Attract"
ExportAssets (56)Timeline Frame 1Symbol 72 as "_Repel"
ExportAssets (56)Timeline Frame 1Symbol 73 as "_PortalExit"
ExportAssets (56)Timeline Frame 1Symbol 75 as "_Rabbit"
ExportAssets (56)Timeline Frame 1Symbol 77 as "_Snail"
ExportAssets (56)Timeline Frame 1Symbol 79 as "_Push"
ExportAssets (56)Timeline Frame 1Symbol 83 as "_BlackHole"
ExportAssets (56)Timeline Frame 1Symbol 86 as "_BlackHoleHighlight"
ExportAssets (56)Timeline Frame 1Symbol 97 as "_IconContainer"
ExportAssets (56)Timeline Frame 1Symbol 104 as "_Radius"
ExportAssets (56)Timeline Frame 1Symbol 107 as "_Directional"
ExportAssets (56)Timeline Frame 1Symbol 111 as "_Moveable"
EnableDebugger2 (64)Timeline Frame 131 bytes "u.$1$b1$/6hTMQWSuxC2lOfJLsJLo/."
DebugMX1 (63)Timeline Frame 1
SerialNumber (41)Timeline Frame 1

Labels

"Main"Frame 1
"eventMovieComplete"Symbol 6 MovieClip {com.cipherprime.auditorium.views.ActView__ActDisplay} [_ActDisplay] Frame 73
"small"Symbol 47 MovieClip {com.cipherprime.auditorium.views.item.items.Color__Color} [_Color] Frame 1
"medium"Symbol 47 MovieClip {com.cipherprime.auditorium.views.item.items.Color__Color} [_Color] Frame 2
"large"Symbol 47 MovieClip {com.cipherprime.auditorium.views.item.items.Color__Color} [_Color] Frame 3
"start"Symbol 97 MovieClip {com.cipherprime.auditorium.views.item.element.elements.IconContainer__IconContainer} [_IconContainer] Frame 1
"end"Symbol 97 MovieClip {com.cipherprime.auditorium.views.item.element.elements.IconContainer__IconContainer} [_IconContainer] Frame 17




http://swfchan.com/9/44379/info.shtml
Created: 7/5 -2019 03:57:32 Last modified: 7/5 -2019 03:57:32 Server time: 05/05 -2024 17:31:33