Section 1
//Game (code.Game)
package code {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.ui.*;
public class Game extends MovieClip {
public var SOUNDOFF:Boolean;// = false
public var gems:Array;
public var currentGScene:GameScene;
public var messages:Array;
public var inventory:Inventory;
public var login:Array;
public var itemScripts:Object;
public var fader:Sprite;
private var layers:Array;
public var fade:Tween;
public var prevGScene:String;// = "none"
public var arrows:MovieClip;
public var target:String;
public var volumes:Object;
public var soundManager:SoundManager;
public var MODE:int;
private var defaultScene:String;
public var gameScenes:Object;
public function Game(){
prevGScene = "none";
SOUNDOFF = false;
super();
}
public function init():void{
soundManager = new SoundManager(3, this);
loadItemScripts();
initLayers(15);
fader = new Sprite();
fader.name = "fader";
fader.graphics.beginFill(0);
fader.graphics.drawRect(0, 0, 600, 430);
fader.graphics.endFill();
fade = new Tween(fader, "alpha", None.easeNone, 0, 1, 6);
fade.stop();
loadVolumes();
getScenes();
loadMessages();
inventory = new Inventory(this);
addToLayer(inventory, 10);
inventory.init();
generateLogin();
arrows = new Arrows();
arrows.mouseEnabled = false;
arrows.mouseChildren = false;
addToLayer(arrows, 1);
layers[1].mouseEnabled = false;
layers[1].mouseChildren = false;
addToLayer(inventory.helper, 13);
inventory.helper.y = 372;
startGame();
}
public function randomInt(_arg1:int, _arg2:int):int{
return ((Math.floor((Math.random() * ((_arg2 + 1) - _arg1))) + _arg1));
}
public function spawnMessageBox(_arg1:String, _arg2=null, _arg3=null, _arg4:Array=null):void{
var _local5:MessageBox;
currentGScene.disableVolumes();
inventory.setState(inventory.states.DISABLED);
inventory.itemInfo.disable();
_local5 = new MessageBox(_arg1, this, _arg2, _arg3, _arg4);
addToLayer(_local5, 11);
_local5.init();
}
public function generateLogin():void{
var _local1:Array;
var _local2:Array;
var _local3:uint;
login = [];
_local1 = ["graveman", "keeper", "bones", "johnny", "undead", "dead", "hound", "raven"];
_local2 = ["red", "green", "blue", "grave", "dark", "moon", "wolf", "crypt", "armor"];
_local3 = randomInt(0, (_local1.length - 1));
login.push(_local1[_local3]);
_local3 = randomInt(0, (_local2.length - 1));
login.push(_local2[_local3]);
login[1] = (login[1] + String(randomInt(0, 9)));
login[1] = (login[1] + String(randomInt(0, 9)));
trace(("Login info: " + login));
}
private function getScenes():void{
var _local1:*;
gameScenes = new Object();
gameScenes.outside_1 = new GameScene("outside_1", this);
gameScenes.graveyard = new GameScene("graveyard", this);
gameScenes.office_front_1 = new GameScene("office_front_1", this);
gameScenes.office_front_2 = new GameScene("office_front_2", this);
gameScenes.under_painting = new GameScene("under_painting", this);
gameScenes.office_dark = new GameScene("office_dark", this);
gameScenes.office_1 = new GameScene("office_1", this);
gameScenes.office_2 = new GameScene("office_2", this);
gameScenes.crypt_gate = new GameScene("crypt_gate", this);
gameScenes.crypt_entrance = new GameScene("crypt_entrance", this);
gameScenes.crypt_1 = new GameScene("crypt_1", this);
gameScenes.start_grave = new GameScene("start_grave", this);
gameScenes.transformer = new GameScene("transformer", this);
gameScenes.tool_shed_front = new GameScene("tool_shed_front", this);
gameScenes.tool_shed = new GameScene("tool_shed", this);
gameScenes.back_office = new GameScene("back_office", this);
gameScenes.sockets = new GameScene("sockets", this);
gameScenes.lock_pick_fall = new GameScene("lock_pick_fall", this);
gameScenes.monitor = new GameScene("monitor", this);
gameScenes.casket = new GameScene("casket", this);
gameScenes.grave_puzzle = new GameScene("grave_puzzle", this);
gameScenes.gem_green_drop = new GameScene("gem_green_drop", this);
gameScenes.crypt_exit = new GameScene("crypt_exit", this);
for each (_local1 in gameScenes) {
_local1.init();
};
}
public function fadeOut(_arg1:TweenEvent):void{
removeFromLayer(fader, 14);
fade.removeEventListener(TweenEvent.MOTION_FINISH, fadeOut);
}
public function loadMessages():void{
messages = [];
messages[0] = new Object();
messages[1] = "A... a graveyard?!";
messages[2] = "The window is shut tight.";
messages[3] = "A picture of a tower.\nIt's upside down.";
messages[4] = "This must be the grave keeper's office.";
messages[5] = "It says \"(something) Stanley\"...\nThe first name is illegible.\nThis must be the person who was buried in this Crypt.";
messages[6] = "The moonlight is shining through the window.";
messages[7] = "Its too dark, I can't see any further...";
messages[8] = "A small keychain...\n It has the words \"crypt gates\" inscribed on it.";
messages[9] = "The gate is locked. I can see a Crypt behind it.";
messages[10] = "The heavy door is locked with a big padlock.";
messages[11] = ("Its locked.\n" + "There's a small rusty keyhole.");
messages[12] = "Its a locker. But it won't budge.";
messages[13] = "There's 3 empty sockets...\nLooks like something can be inserted in them.";
messages[14] = ("Light is coming through, looks like an exit!\n" + "...Its to heavy for me to move. Perhaps there's another way to open it?");
messages[15] = "The lid of the casket is slightly open...";
messages[16] = "Something dropped on the floor...";
messages[17] = "I've seen this name before.";
messages[18] = "There was a blue gem inside.";
messages[19] = "Dan Wesker\n1939 - 1993";
messages[20] = "Olivia Hamilton\n1952 - 1990";
messages[21] = "Jason Stanley\n1958 - 2000";
messages[22] = "Patrick Bourne\n1942 - 1995";
messages[23] = "Mark Stanley\n1943 - 1988";
messages[24] = "Sharon Redfield\n1953 - 19xx\n...\nThe date of death is illegible.";
messages[25] = "Forrest Elliot\n1960 - 2001";
messages[26] = "Alexander James\n1947 - 1995";
messages[27] = "There's nothing else inside.";
messages[28] = "Yes!! Got it!";
messages[29] = "All gems have been socketed.";
messages[30] = "What was that?";
messages[31] = "It seems that there's something behind this...";
messages[32] = "There's light coming from the room.";
messages[33] = "The words \"The young come first\" are carved in the stone slab.";
messages[34] = "The gem has been socketed firmly into place.";
messages[35] = "Sounds like something opened...";
messages[36] = "There was a note inside.";
messages[37] = "There's something inside...";
messages[38] = "This socket is still empty.";
messages[39] = "Sounds like something was unlocked...";
messages[40] = "You unlocked the door.";
messages[41] = "This pattern looks familiar...\nI've seen it in the map.";
messages[0].flashlight = "A military flashlight.\n It feels light and it doesn't seem to be working...";
messages[0].flashlight_ready = "The flashlight is fully operational now.";
messages[0].batteries = "A pair of D batteries.\n They seem to be in good condition.";
messages[0].cgate_key = ("A small key attached to a keychain.\n" + "It has the words: \"crypt gate\" inscribed in the keychain");
messages[0].bag = "There was a small key inside the bag.";
messages[0].tool_shed_key = "A small and old key.";
messages[0].bolt_cutters = "Heavy set of bolt cutters.";
messages[0].map = "Looks like a map of this graveyard.\nThe office looks larger here than what it seemed.";
messages[0].shovel = "A shovel. Very fitting.";
messages[0].gem_red = "Its a ruby. Looks a bit worn.";
messages[0].gem_blue = "Its a sapphire gemstone. Very nice.";
messages[0].gem_green = "A beautiful emerald.";
messages[0].crowbar = "A heavy crowbar.";
messages[0].password = "Some documents...";
messages[0].lock_pick = "A small lockpick.";
messages[0].wallet = "An old wallet.";
messages[0].note = "Its a note to the deceased.";
}
public function killChild(_arg1:DisplayObject, _arg2:uint):void{
removeFromLayer(_arg1, _arg2);
}
private function loadScene(_arg1:String):void{
prevGScene = ((currentGScene)!=null) ? currentGScene.name : "none";
if (currentGScene != null){
removeFromLayer(currentGScene, 0);
};
currentGScene = gameScenes[_arg1];
addToLayer(gameScenes[_arg1], 0);
if (itemScripts.enter_scene[_arg1] != null){
itemScripts.enter_scene[_arg1].call();
};
currentGScene.enableVolumes();
Mouse.show();
}
private function initLayers(_arg1:uint):void{
var _local2:*;
layers = [];
_local2 = 0;
while (_local2 < _arg1) {
layers.push(new Sprite());
layers[_local2].name = ("layer_" + _local2);
addChild(layers[_local2]);
_local2++;
};
}
public function startGame():void{
addToLayer(fader, 14);
loadScene("outside_1");
fade.duration = 30;
fade.begin = 1;
fade.finish = 0;
fade.addEventListener(TweenEvent.MOTION_FINISH, fadeOut);
fade.rewind();
fade.start();
}
public function disableAll():void{
}
private function loadItemScripts():void{
itemScripts = new Object();
itemScripts.cgate_key = new Object();
itemScripts.cgate_key.action = function ():void{
trace("Using the crypt gate key.");
gameScenes.crypt_gate.bg.gotoAndStop("OPEN");
gameScenes.crypt_gate.changeVolumeProperties("c_gate", {type:"transition", target:"crypt_entrance"});
soundManager.playSound("gate_open");
};
itemScripts.painting = new Object();
itemScripts.painting.action = function ():void{
trace("Opened Painting");
soundManager.playSound("painting");
gameScenes.office_front_2.bg.gotoAndStop("OPEN");
gameScenes.office_front_2.deleteVolume("painting");
};
itemScripts.flashlight_ready = new Object();
itemScripts.flashlight_ready.action = function ():void{
trace("Can see into the darkness");
gameScenes.office_dark.swapVolumes(1);
gameScenes.office_dark.disableVolumes();
gameScenes.office_dark.otherVols[0][0].type = "action";
gameScenes.office_dark.otherVols[0][0].target = "ACT_office_dark";
itemScripts.flashlight_ready.goForward = new Tween(gameScenes.office_dark.bg, "x", Regular.easeOut, gameScenes.office_dark.bg.x, -400, 18);
itemScripts.flashlight_ready.goForward.addEventListener(TweenEvent.MOTION_FINISH, itemScripts.flashlight_ready.motionEnd);
};
itemScripts.flashlight_ready.motionEnd = function (_arg1:TweenEvent):void{
var _local2:int;
_local2 = ((_arg1.target.position == 0)) ? 0 : 1;
gameScenes.office_dark.swapVolumes(_local2);
if (gameScenes.office_dark.bg.x <= 0){
gameScenes.office_dark.bg.gotoAndPlay("FLASH");
};
currentGScene.enableVolumes();
};
itemScripts.tool_shed_key = new Object();
itemScripts.tool_shed_key.action = function ():void{
trace("Unlocked the Tool Shed.");
spawnMessageBox(messages[40]);
gameScenes.tool_shed_front.changeVolumeProperties("shed_door", {target:"tool_shed", type:"transition"});
soundManager.playSound("gate_open");
};
itemScripts.bolt_cutters = new Object();
itemScripts.bolt_cutters.action = function ():void{
trace("It sliced right through the padlock!.");
gameScenes.crypt_entrance.bg.gotoAndStop("OPEN");
gameScenes.crypt_entrance.changeVolumeProperties("crypt_door", {target:"crypt_1", type:"transition"});
soundManager.playSound("gate_open");
};
itemScripts.lock_pick = new Object();
itemScripts.lock_pick.action = function ():void{
trace("Unlocked the locker.");
soundManager.playSound("locker");
currentGScene.bg.gotoAndStop("OPEN");
currentGScene.deleteVolume("locker");
};
itemScripts.shovel = new Object();
itemScripts.shovel.action = function ():void{
var _local1:*;
spawnMessageBox(messages[18]);
_local1 = new GemBlue();
_local1.name = "gem_blue";
_local1.game = this;
_local1.mixInit();
inventory.addItem(_local1);
_local1 = null;
currentGScene.changeVolumeProperties("mark_grave", {type:"text"});
};
itemScripts.crowbar = new Object();
itemScripts.crowbar.action = function (_arg1:String=null):void{
if (_arg1 == "switch"){
soundManager.playSound("tomb");
gotoScene("casket");
return;
};
currentGScene.changeVolumeProperties("casket_lid", {type:"text", msg:"msg_27"});
spawnMessageBox(messages[37], itemScripts.crowbar, itemScripts.crowbar.action, ["switch"]);
};
itemScripts.gem_red = new Object();
itemScripts.gem_red.action = function (_arg1:String=null):void{
if (_arg1 == "switch"){
gotoScene("lock_pick_fall");
return;
};
gameScenes.sockets.changeVolumeProperties("gem_red", {type:"text", msg:"msg_34"});
gameScenes.sockets.changeVolumeProperties("gem_blue", {msg:"msg_38"});
gameScenes.sockets.changeVolumeProperties("gem_green", {msg:"msg_38"});
trace("Placed red Gem.");
soundManager.playSound("socket_gem");
gameScenes.sockets.bg.gotoAndStop("RED");
gameScenes.crypt_1.bg.gems.gotoAndStop("RED");
spawnMessageBox(messages[16], itemScripts.gem_red, itemScripts.gem_red.action, ["switch"]);
};
itemScripts.gem_blue = new Object();
itemScripts.gem_blue.action = function ():void{
trace("Placed blue Gem.");
soundManager.playSound("socket_gem");
gameScenes.sockets.bg.gotoAndStop("BLUE");
gameScenes.crypt_1.bg.gems.gotoAndStop("BLUE");
gameScenes.sockets.changeVolumeProperties("gem_blue", {type:"text", msg:"msg_34"});
gameScenes.crypt_1.bg.gotoAndStop("OPEN");
gameScenes.crypt_1.changeVolumeProperties("puzzle_door", {type:"transition"});
spawnMessageBox(messages[35]);
soundManager.playSound("stone_door");
};
itemScripts.gem_green = new Object();
itemScripts.gem_green.action = function ():void{
trace("Placed green Gem.");
soundManager.playSound("socket_gem");
gameScenes.sockets.bg.gotoAndStop("GREEN");
gameScenes.crypt_1.bg.gems.gotoAndStop("GREEN");
currentGScene.changeVolumeProperties("gem_red", {msg:"msg_29"});
currentGScene.changeVolumeProperties("gem_blue", {msg:"msg_29"});
currentGScene.changeVolumeProperties("gem_green", {type:"text", msg:"msg_29"});
spawnMessageBox(messages[39]);
gameScenes.crypt_1.changeVolumeProperties("exit", {type:"action"});
gameScenes.crypt_1.enableVolume("exit");
soundManager.playSound("stone_door");
};
itemScripts.ACT_office_dark = new Object();
itemScripts.ACT_office_dark.action = function (){
itemScripts.flashlight_ready.goForward.yoyo();
};
itemScripts.ACT_transformer = new Object();
itemScripts.ACT_transformer.action = function (){
currentGScene.changeVolumeProperties("back_to_office", {target:"office_2"});
currentGScene.enableVolume("window");
currentGScene.deleteVolume("transformer");
currentGScene.bg.gotoAndStop("POWERED");
soundManager.playSound("switch");
soundManager.stopAmbienceNow();
soundManager.playAmbience("transformer");
gameScenes.office_front_1.changeVolumeProperties("enter_office", {target:"office_1"});
};
itemScripts.ACT_cabinet = new Object();
itemScripts.ACT_cabinet.action = function (){
trace("Reavealed door to the back office.");
currentGScene.bg.gotoAndStop("OPEN");
currentGScene.changeVolumeProperties("file_cabinet", {target:"back_office", type:"transition"});
soundManager.playSound("file_cab");
};
itemScripts.ACT_lamp = new Object();
itemScripts.ACT_lamp.ON = true;
itemScripts.ACT_lamp.darkFrame = "DARK";
itemScripts.ACT_lamp.action = function (){
if (itemScripts.ACT_lamp.ON){
trace("Turned off the lights.");
soundManager.playSound("lamp_switch");
currentGScene.bg.gotoAndStop(itemScripts.ACT_lamp.darkFrame);
} else {
soundManager.playSound("lamp_switch");
trace("Turned on the lights.");
currentGScene.bg.gotoAndStop("LIGHT");
};
itemScripts.ACT_lamp.ON = !(itemScripts.ACT_lamp.ON);
};
itemScripts.ACT_crypt_exit = new Object();
itemScripts.ACT_crypt_exit.action = function (){
trace("Game Over");
inventory.setState(inventory.states.DISABLED);
inventory.clearInventory();
gotoScene("crypt_exit", 64);
};
itemScripts.INFO_flashlight = new Object();
itemScripts.INFO_flashlight.target = "batteries";
itemScripts.INFO_flashlight.action = function (){
var _local1:*;
trace("Created Working Flashlight");
inventory.mixItem("flashlight");
soundManager.playSound("flashlight");
_local1 = new FlashLightReady();
_local1.name = "flashlight_ready";
_local1.game = this;
_local1.mixInit();
inventory.addItem(_local1);
inventory.itemInfo.setItem(_local1.name);
_local1 = null;
};
itemScripts.INFO_bag = new Object();
itemScripts.INFO_bag.action = function (){
var _local1:MovieClip;
trace("There was a key indide the bag.");
inventory.deleteItem("bag");
soundManager.playSound("pickup");
_local1 = new ToolShedKey();
_local1.name = "tool_shed_key";
_local1.game = this;
_local1.mixInit();
inventory.addItem(_local1);
inventory.itemInfo.setItem(_local1.name);
spawnMessageBox(messages[0].bag);
};
itemScripts.INFO_map = new Object();
itemScripts.INFO_map.FIRST = true;
itemScripts.INFO_map.action = function (){
if (itemScripts.INFO_map.FIRST){
gameScenes.office_2.enableVolume("file_cabinet");
itemScripts.INFO_map.FIRST = false;
};
spawnMessageBox(messages[0].map);
};
itemScripts.INFO_wallet = new Object();
itemScripts.INFO_wallet.action = function (){
var _local1:MovieClip;
trace("There's a note inside the wallet.");
inventory.deleteItem("wallet");
soundManager.playSound("pickup");
_local1 = new Note();
_local1.name = "note";
_local1.game = this;
_local1.mixInit();
inventory.addItem(_local1);
inventory.itemInfo.setItem(_local1.name);
spawnMessageBox(messages[36]);
};
itemScripts.PICK_gem_red = new Object();
itemScripts.PICK_gem_red.action = function (){
trace("Picked up red gem, changing lights lamp action.");
itemScripts.ACT_lamp.darkFrame = "DARK_EMPTY";
};
itemScripts.PICK_shovel = new Object();
itemScripts.PICK_shovel.action = function (){
trace("Picked up the Shovel, switching frames.");
gameScenes.transformer.bg.gotoAndStop("NOSHOVEL");
};
itemScripts.PICK_lock_pick = new Object();
itemScripts.PICK_lock_pick.action = function (){
trace("Picked up the lockpick transitioning back.");
gotoScene("crypt_1");
};
itemScripts.PICK_wallet = new Object();
itemScripts.PICK_wallet.action = function (){
trace("Picked up a wallet.");
gotoScene("crypt_1");
};
itemScripts.PICK_gem_green = new Object();
itemScripts.PICK_gem_green.action = function (){
trace("Picked up the Green Gem.");
gotoScene("crypt_1");
};
itemScripts.enter_scene = new Object();
itemScripts.enter_scene.outside_1 = function (){
if (soundManager.ambienceName != "outside"){
soundManager.playAmbience("outside");
};
};
itemScripts.enter_scene.office_front_1 = function (){
if (soundManager.ambienceName != "outside"){
soundManager.playAmbience("outside");
};
};
itemScripts.enter_scene.crypt_entrance = function (){
if (soundManager.ambienceName != "outside"){
soundManager.playAmbience("outside");
};
};
itemScripts.enter_scene.tool_shed_front = function (){
if (soundManager.ambienceName != "outside"){
soundManager.playAmbience("outside");
};
};
itemScripts.enter_scene.crypt_1 = function (){
if (soundManager.ambienceName != "crypt"){
soundManager.playAmbience("crypt");
};
};
itemScripts.enter_scene.tool_shed = function (){
if (soundManager.ambienceName != "toolshed"){
soundManager.playAmbience("toolshed");
};
};
itemScripts.enter_scene.transformer = function (){
if (currentGScene.bg.currentLabel == "POWERED"){
soundManager.playAmbience("transformer");
} else {
soundManager.playAmbience("toolshed");
};
};
itemScripts.enter_scene.crypt_exit = function (){
trace("playing door anim");
currentGScene.bg.door.play();
};
itemScripts.enter_scene.grave_puzzle = function (){
spawnMessageBox(messages[41]);
itemScripts.enter_scene.grave_puzzle = null;
};
itemScripts.fade_scene = new Object();
itemScripts.fade_scene.office_front_1 = function (){
if ((((target == "office_dark")) || ((target == "office_1")))){
soundManager.playSound("close_door");
};
};
itemScripts.fade_scene.transformer = function (){
soundManager.playSound("close_door");
};
itemScripts.fade_scene.office_2 = function (){
if ((((target == "transformer")) || ((target == "back_office")))){
soundManager.playSound("close_door");
};
};
itemScripts.fade_scene.office_1 = function (){
if (target == "office_front_1"){
soundManager.playSound("close_door");
};
};
itemScripts.fade_scene.office_dark = function (){
if ((((target == "transformer")) || ((target == "office_front_1")))){
soundManager.playSound("close_door");
};
};
itemScripts.fade_scene.back_office = function (){
if (target == "office_2"){
soundManager.playSound("close_door");
};
};
itemScripts.leave_scene = new Object();
itemScripts.leave_scene.office_front_1 = function (){
if ((((target == "office_dark")) || ((target == "office_1")))){
soundManager.stopAmbience();
};
};
itemScripts.leave_scene.transformer = function (){
soundManager.stopAmbience();
};
itemScripts.leave_scene.crypt_entrance = function (){
if (target == "crypt_1"){
soundManager.stopAmbience();
};
};
itemScripts.leave_scene.crypt_1 = function (){
if ((((target == "crypt_entrance")) || ((target == "crypt_exit")))){
soundManager.stopAmbience();
};
};
itemScripts.leave_scene.tool_shed = function (){
soundManager.stopAmbience();
};
itemScripts.leave_scene.tool_shed_front = function (){
if (target == "tool_shed"){
soundManager.stopAmbience();
};
};
}
public function addToLayer(_arg1:DisplayObject, _arg2:uint):void{
layers[_arg2].addChild(_arg1);
}
public function faderSwithcScene(_arg1:TweenEvent):void{
if (_arg1.position == 1){
if (itemScripts.fade_scene[currentGScene.name] != null){
itemScripts.fade_scene[currentGScene.name].call();
};
loadScene(target);
fade.begin = 1;
fade.finish = 0;
fade.rewind();
fade.start();
} else {
if (_arg1.position == 0){
removeFromLayer(fader, 14);
fade.removeEventListener(TweenEvent.MOTION_FINISH, faderSwithcScene);
};
};
}
public function removeFromLayer(_arg1:DisplayObject, _arg2:uint):void{
layers[_arg2].removeChild(_arg1);
}
private function loadVolumes():void{
volumes = new Object();
volumes.back_office = [];
volumes.back_office[0] = new Object();
volumes.back_office[0].name = "lamp";
volumes.back_office[0].type = "action";
volumes.back_office[0].center = new Point(102, 96.5);
volumes.back_office[0].enabled = "true";
volumes.back_office[0].duration = "8";
volumes.back_office[0].dir = "none";
volumes.back_office[0].msg = "none";
volumes.back_office[0].target = "ACT_lamp";
volumes.back_office[0].points = [];
volumes.back_office[0].points[0] = new Point(-25, -31.5);
volumes.back_office[0].points[1] = new Point(23, -30.5);
volumes.back_office[0].points[2] = new Point(46, 29.5);
volumes.back_office[0].points[3] = new Point(-46, 31.5);
volumes.back_office[1] = new Object();
volumes.back_office[1].name = "monitor";
volumes.back_office[1].type = "transition";
volumes.back_office[1].center = new Point(292.5, 120);
volumes.back_office[1].duration = "8";
volumes.back_office[1].target = "monitor";
volumes.back_office[1].enabled = "true";
volumes.back_office[1].dir = "in";
volumes.back_office[1].msg = "none";
volumes.back_office[1].points = [];
volumes.back_office[1].points[0] = new Point(-40.5, -30);
volumes.back_office[1].points[1] = new Point(42.5, -31);
volumes.back_office[1].points[2] = new Point(42.5, 31);
volumes.back_office[1].points[3] = new Point(-42.5, 28);
volumes.back_office[2] = new Object();
volumes.back_office[2].name = "return";
volumes.back_office[2].type = "transition";
volumes.back_office[2].center = new Point(299.5, 336.5);
volumes.back_office[2].duration = "8";
volumes.back_office[2].target = "office_2";
volumes.back_office[2].enabled = "true";
volumes.back_office[2].dir = "out";
volumes.back_office[2].msg = "none";
volumes.back_office[2].points = [];
volumes.back_office[2].points[0] = new Point(-300.5, -24.5);
volumes.back_office[2].points[1] = new Point(300.5, -20.5);
volumes.back_office[2].points[2] = new Point(299.5, 24.5);
volumes.back_office[2].points[3] = new Point(-300.5, 21.5);
volumes.crypt_1 = [];
volumes.crypt_1[0] = new Object();
volumes.crypt_1[0].name = "sockets";
volumes.crypt_1[0].type = "transition";
volumes.crypt_1[0].center = new Point(348.5, 242.5);
volumes.crypt_1[0].enabled = "true";
volumes.crypt_1[0].duration = "8";
volumes.crypt_1[0].dir = "in";
volumes.crypt_1[0].msg = "none";
volumes.crypt_1[0].target = "sockets";
volumes.crypt_1[0].points = [];
volumes.crypt_1[0].points[0] = new Point(-65.5, -25.5);
volumes.crypt_1[0].points[1] = new Point(74.5, -24.5);
volumes.crypt_1[0].points[2] = new Point(81.5, 25.5);
volumes.crypt_1[0].points[3] = new Point(-81.5, 25.5);
volumes.crypt_1[1] = new Object();
volumes.crypt_1[1].name = "exit";
volumes.crypt_1[1].type = "text";
volumes.crypt_1[1].center = new Point(532, 140);
volumes.crypt_1[1].duration = "30";
volumes.crypt_1[1].target = "ACT_crypt_exit";
volumes.crypt_1[1].enabled = "true";
volumes.crypt_1[1].dir = "none";
volumes.crypt_1[1].msg = "msg_14";
volumes.crypt_1[1].points = [];
volumes.crypt_1[1].points[0] = new Point(-18, -81);
volumes.crypt_1[1].points[1] = new Point(9, -62);
volumes.crypt_1[1].points[2] = new Point(18, 81);
volumes.crypt_1[1].points[3] = new Point(-18, 72);
volumes.crypt_1[2] = new Object();
volumes.crypt_1[2].name = "casket_lid";
volumes.crypt_1[2].type = "item";
volumes.crypt_1[2].center = new Point(357, 174.5);
volumes.crypt_1[2].enabled = "true";
volumes.crypt_1[2].duration = "8";
volumes.crypt_1[2].dir = "none";
volumes.crypt_1[2].msg = "msg_15";
volumes.crypt_1[2].target = "crowbar";
volumes.crypt_1[2].points = [];
volumes.crypt_1[2].points[0] = new Point(-56, -29.5);
volumes.crypt_1[2].points[1] = new Point(37, -32.5);
volumes.crypt_1[2].points[2] = new Point(101, 31.5);
volumes.crypt_1[2].points[3] = new Point(-101, 32.5);
volumes.crypt_1[3] = new Object();
volumes.crypt_1[3].name = "return";
volumes.crypt_1[3].type = "transition";
volumes.crypt_1[3].center = new Point(299.5, 345);
volumes.crypt_1[3].enabled = "true";
volumes.crypt_1[3].duration = "30";
volumes.crypt_1[3].dir = "out";
volumes.crypt_1[3].msg = "none";
volumes.crypt_1[3].target = "crypt_entrance";
volumes.crypt_1[3].points = [];
volumes.crypt_1[3].points[0] = new Point(-298.5, -11);
volumes.crypt_1[3].points[1] = new Point(298.5, -14);
volumes.crypt_1[3].points[2] = new Point(299.5, 14);
volumes.crypt_1[3].points[3] = new Point(-299.5, 14);
volumes.crypt_1[4] = new Object();
volumes.crypt_1[4].name = "puzzle_door";
volumes.crypt_1[4].type = "text";
volumes.crypt_1[4].center = new Point(378.5, 97.5);
volumes.crypt_1[4].enabled = "true";
volumes.crypt_1[4].duration = "8";
volumes.crypt_1[4].dir = "in";
volumes.crypt_1[4].msg = "msg_31";
volumes.crypt_1[4].target = "grave_puzzle";
volumes.crypt_1[4].points = [];
volumes.crypt_1[4].points[0] = new Point(-22.5, -25.5);
volumes.crypt_1[4].points[1] = new Point(22.5, -26.5);
volumes.crypt_1[4].points[2] = new Point(18.5, 25.5);
volumes.crypt_1[4].points[3] = new Point(-19.5, 26.5);
volumes.crypt_entrance = [];
volumes.crypt_entrance[0] = new Object();
volumes.crypt_entrance[0].name = "crypt_door";
volumes.crypt_entrance[0].type = "item";
volumes.crypt_entrance[0].center = new Point(367, 214.5);
volumes.crypt_entrance[0].duration = "30";
volumes.crypt_entrance[0].msg = "msg_10";
volumes.crypt_entrance[0].enabled = "true";
volumes.crypt_entrance[0].target = "bolt_cutters";
volumes.crypt_entrance[0].dir = "in";
volumes.crypt_entrance[0].points = [];
volumes.crypt_entrance[0].points[0] = new Point(-29, -51.5);
volumes.crypt_entrance[0].points[1] = new Point(29, -46.5);
volumes.crypt_entrance[0].points[2] = new Point(20, 51.5);
volumes.crypt_entrance[0].points[3] = new Point(-28, 44.5);
volumes.crypt_entrance[1] = new Object();
volumes.crypt_entrance[1].name = "Volume_2";
volumes.crypt_entrance[1].type = "transition";
volumes.crypt_entrance[1].center = new Point(298.5, 337);
volumes.crypt_entrance[1].enabled = "true";
volumes.crypt_entrance[1].duration = "8";
volumes.crypt_entrance[1].dir = "out";
volumes.crypt_entrance[1].msg = "none";
volumes.crypt_entrance[1].target = "crypt_gate";
volumes.crypt_entrance[1].points = [];
volumes.crypt_entrance[1].points[0] = new Point(-301.5, -17);
volumes.crypt_entrance[1].points[1] = new Point(301.5, -23);
volumes.crypt_entrance[1].points[2] = new Point(300.5, 23);
volumes.crypt_entrance[1].points[3] = new Point(-301.5, 23);
volumes.crypt_gate = [];
volumes.crypt_gate[0] = new Object();
volumes.crypt_gate[0].name = "c_gate";
volumes.crypt_gate[0].type = "item";
volumes.crypt_gate[0].center = new Point(400.5, 200.5);
volumes.crypt_gate[0].enabled = "true";
volumes.crypt_gate[0].duration = "8";
volumes.crypt_gate[0].dir = "in";
volumes.crypt_gate[0].msg = "msg_9";
volumes.crypt_gate[0].target = "cgate_key";
volumes.crypt_gate[0].points = [];
volumes.crypt_gate[0].points[0] = new Point(-64.5, -118.5);
volumes.crypt_gate[0].points[1] = new Point(61.5, -120.5);
volumes.crypt_gate[0].points[2] = new Point(64.5, 120.5);
volumes.crypt_gate[0].points[3] = new Point(-59.5, 115.5);
volumes.crypt_gate[1] = new Object();
volumes.crypt_gate[1].name = "Volume_2";
volumes.crypt_gate[1].type = "transition";
volumes.crypt_gate[1].center = new Point(20, 179.5);
volumes.crypt_gate[1].enabled = "true";
volumes.crypt_gate[1].duration = "8";
volumes.crypt_gate[1].dir = "left";
volumes.crypt_gate[1].msg = "none";
volumes.crypt_gate[1].target = "outside_1";
volumes.crypt_gate[1].points = [];
volumes.crypt_gate[1].points[0] = new Point(-20, -179.5);
volumes.crypt_gate[1].points[1] = new Point(20, -179.5);
volumes.crypt_gate[1].points[2] = new Point(17, 179.5);
volumes.crypt_gate[1].points[3] = new Point(-20, 179.5);
volumes.crypt_gate[2] = new Object();
volumes.crypt_gate[2].name = "Volume_63";
volumes.crypt_gate[2].type = "transition";
volumes.crypt_gate[2].center = new Point(575.5, 179.5);
volumes.crypt_gate[2].enabled = "true";
volumes.crypt_gate[2].duration = "8";
volumes.crypt_gate[2].dir = "right";
volumes.crypt_gate[2].msg = "none";
volumes.crypt_gate[2].target = "tool_shed_front";
volumes.crypt_gate[2].points = [];
volumes.crypt_gate[2].points[0] = new Point(-24.5, -179.5);
volumes.crypt_gate[2].points[1] = new Point(24.5, -179.5);
volumes.crypt_gate[2].points[2] = new Point(23.5, 179.5);
volumes.crypt_gate[2].points[3] = new Point(-21.5, 178.5);
volumes.crypt_gate[3] = new Object();
volumes.crypt_gate[3].name = "crypt_name";
volumes.crypt_gate[3].type = "text";
volumes.crypt_gate[3].center = new Point(414, 31.5);
volumes.crypt_gate[3].duration = "8";
volumes.crypt_gate[3].target = "none";
volumes.crypt_gate[3].enabled = "true";
volumes.crypt_gate[3].dir = "none";
volumes.crypt_gate[3].msg = "msg_5";
volumes.crypt_gate[3].points = [];
volumes.crypt_gate[3].points[0] = new Point(-82, -11.5);
volumes.crypt_gate[3].points[1] = new Point(81, -14.5);
volumes.crypt_gate[3].points[2] = new Point(82, 8.5);
volumes.crypt_gate[3].points[3] = new Point(-78, 14.5);
volumes.graveyard = [];
volumes.graveyard[0] = new Object();
volumes.graveyard[0].name = "grave_6";
volumes.graveyard[0].type = "text";
volumes.graveyard[0].center = new Point(89, 244.5);
volumes.graveyard[0].enabled = "true";
volumes.graveyard[0].duration = "8";
volumes.graveyard[0].dir = "none";
volumes.graveyard[0].msg = "msg_22";
volumes.graveyard[0].target = "none";
volumes.graveyard[0].points = [];
volumes.graveyard[0].points[0] = new Point(-32, -60.5);
volumes.graveyard[0].points[1] = new Point(27, -63.5);
volumes.graveyard[0].points[2] = new Point(35, 56.5);
volumes.graveyard[0].points[3] = new Point(-35, 63.5);
volumes.graveyard[1] = new Object();
volumes.graveyard[1].name = "grave_1";
volumes.graveyard[1].type = "text";
volumes.graveyard[1].center = new Point(172.5, 236.5);
volumes.graveyard[1].enabled = "true";
volumes.graveyard[1].duration = "8";
volumes.graveyard[1].dir = "none";
volumes.graveyard[1].msg = "msg_25";
volumes.graveyard[1].target = "shovel";
volumes.graveyard[1].points = [];
volumes.graveyard[1].points[0] = new Point(-17.5, -39.5);
volumes.graveyard[1].points[1] = new Point(19.5, -41.5);
volumes.graveyard[1].points[2] = new Point(17.5, 38.5);
volumes.graveyard[1].points[3] = new Point(-19.5, 41.5);
volumes.graveyard[2] = new Object();
volumes.graveyard[2].name = "grave_3";
volumes.graveyard[2].type = "text";
volumes.graveyard[2].center = new Point(220, 241.5);
volumes.graveyard[2].enabled = "true";
volumes.graveyard[2].duration = "8";
volumes.graveyard[2].dir = "none";
volumes.graveyard[2].msg = "msg_21";
volumes.graveyard[2].target = "none";
volumes.graveyard[2].points = [];
volumes.graveyard[2].points[0] = new Point(-28, -29.5);
volumes.graveyard[2].points[1] = new Point(23, -37.5);
volumes.graveyard[2].points[2] = new Point(28, 34.5);
volumes.graveyard[2].points[3] = new Point(-27, 37.5);
volumes.graveyard[3] = new Object();
volumes.graveyard[3].name = "grave_5";
volumes.graveyard[3].type = "text";
volumes.graveyard[3].center = new Point(296.5, 233.5);
volumes.graveyard[3].enabled = "true";
volumes.graveyard[3].duration = "8";
volumes.graveyard[3].dir = "none";
volumes.graveyard[3].msg = "msg_19";
volumes.graveyard[3].target = "none";
volumes.graveyard[3].points = [];
volumes.graveyard[3].points[0] = new Point(-13.5, -26.5);
volumes.graveyard[3].points[1] = new Point(16.5, -25.5);
volumes.graveyard[3].points[2] = new Point(13.5, 26.5);
volumes.graveyard[3].points[3] = new Point(-16.5, 24.5);
volumes.graveyard[4] = new Object();
volumes.graveyard[4].name = "grave_2";
volumes.graveyard[4].type = "text";
volumes.graveyard[4].center = new Point(495, 225.5);
volumes.graveyard[4].enabled = "true";
volumes.graveyard[4].duration = "8";
volumes.graveyard[4].dir = "none";
volumes.graveyard[4].msg = "msg_24";
volumes.graveyard[4].target = "none";
volumes.graveyard[4].points = [];
volumes.graveyard[4].points[0] = new Point(-20, -33.5);
volumes.graveyard[4].points[1] = new Point(20, -35.5);
volumes.graveyard[4].points[2] = new Point(23, 35.5);
volumes.graveyard[4].points[3] = new Point(-23, 33.5);
volumes.graveyard[5] = new Object();
volumes.graveyard[5].name = "grave_7";
volumes.graveyard[5].type = "text";
volumes.graveyard[5].center = new Point(447.5, 228);
volumes.graveyard[5].enabled = "true";
volumes.graveyard[5].duration = "8";
volumes.graveyard[5].dir = "none";
volumes.graveyard[5].msg = "msg_23";
volumes.graveyard[5].target = "none";
volumes.graveyard[5].points = [];
volumes.graveyard[5].points[0] = new Point(-14.5, -21);
volumes.graveyard[5].points[1] = new Point(10.5, -21);
volumes.graveyard[5].points[2] = new Point(14.5, 21);
volumes.graveyard[5].points[3] = new Point(-13.5, 6);
volumes.graveyard[6] = new Object();
volumes.graveyard[6].name = "grave_8";
volumes.graveyard[6].type = "text";
volumes.graveyard[6].center = new Point(560.5, 249.5);
volumes.graveyard[6].enabled = "true";
volumes.graveyard[6].duration = "8";
volumes.graveyard[6].dir = "none";
volumes.graveyard[6].msg = "msg_26";
volumes.graveyard[6].target = "none";
volumes.graveyard[6].points = [];
volumes.graveyard[6].points[0] = new Point(-36.5, -59.5);
volumes.graveyard[6].points[1] = new Point(37.5, -58.5);
volumes.graveyard[6].points[2] = new Point(36.5, 58.5);
volumes.graveyard[6].points[3] = new Point(-37.5, 59.5);
volumes.graveyard[7] = new Object();
volumes.graveyard[7].name = "mark_grave";
volumes.graveyard[7].type = "text";
volumes.graveyard[7].center = new Point(419, 263);
volumes.graveyard[7].duration = "8";
volumes.graveyard[7].target = "shovel";
volumes.graveyard[7].enabled = "true";
volumes.graveyard[7].dir = "none";
volumes.graveyard[7].msg = "msg_20";
volumes.graveyard[7].points = [];
volumes.graveyard[7].points[0] = new Point(-27, -26);
volumes.graveyard[7].points[1] = new Point(16, -30);
volumes.graveyard[7].points[2] = new Point(27, 30);
volumes.graveyard[7].points[3] = new Point(-22, 29);
volumes.graveyard[8] = new Object();
volumes.graveyard[8].name = "Volume_40";
volumes.graveyard[8].type = "transition";
volumes.graveyard[8].center = new Point(15, 179.5);
volumes.graveyard[8].enabled = "true";
volumes.graveyard[8].duration = "8";
volumes.graveyard[8].dir = "left";
volumes.graveyard[8].msg = "none";
volumes.graveyard[8].target = "tool_shed_front";
volumes.graveyard[8].points = [];
volumes.graveyard[8].points[0] = new Point(-13, -178.5);
volumes.graveyard[8].points[1] = new Point(14, -178.5);
volumes.graveyard[8].points[2] = new Point(8, 177.5);
volumes.graveyard[8].points[3] = new Point(-14, 178.5);
volumes.graveyard[9] = new Object();
volumes.graveyard[9].name = "Volume_41";
volumes.graveyard[9].type = "transition";
volumes.graveyard[9].center = new Point(313.5, 340.5);
volumes.graveyard[9].enabled = "true";
volumes.graveyard[9].duration = "8";
volumes.graveyard[9].dir = "out";
volumes.graveyard[9].msg = "none";
volumes.graveyard[9].target = "outside_1";
volumes.graveyard[9].points = [];
volumes.graveyard[9].points[0] = new Point(-289.5, -18.5);
volumes.graveyard[9].points[1] = new Point(287.5, -15.5);
volumes.graveyard[9].points[2] = new Point(289.5, 18.5);
volumes.graveyard[9].points[3] = new Point(-289.5, 18.5);
volumes.office_1 = [];
volumes.office_1[0] = new Object();
volumes.office_1[0].name = "exit";
volumes.office_1[0].type = "transition";
volumes.office_1[0].center = new Point(235, 345.5);
volumes.office_1[0].duration = "30";
volumes.office_1[0].msg = "none";
volumes.office_1[0].enabled = "true";
volumes.office_1[0].target = "office_front_1";
volumes.office_1[0].dir = "out";
volumes.office_1[0].points = [];
volumes.office_1[0].points[0] = new Point(-235, -15.5);
volumes.office_1[0].points[1] = new Point(234, -13.5);
volumes.office_1[0].points[2] = new Point(236, 15.5);
volumes.office_1[0].points[3] = new Point(-236, 14.5);
volumes.office_1[1] = new Object();
volumes.office_1[1].name = "office_2";
volumes.office_1[1].type = "transition";
volumes.office_1[1].center = new Point(579, 179);
volumes.office_1[1].enabled = "true";
volumes.office_1[1].duration = "8";
volumes.office_1[1].dir = "right";
volumes.office_1[1].msg = "none";
volumes.office_1[1].target = "office_2";
volumes.office_1[1].points = [];
volumes.office_1[1].points[0] = new Point(-20, -180);
volumes.office_1[1].points[1] = new Point(20, -180);
volumes.office_1[1].points[2] = new Point(20, 180);
volumes.office_1[1].points[3] = new Point(-18, 180);
volumes.office_2 = [];
volumes.office_2[0] = new Object();
volumes.office_2[0].name = "to_transformer";
volumes.office_2[0].type = "transition";
volumes.office_2[0].center = new Point(292.5, 167.5);
volumes.office_2[0].duration = "30";
volumes.office_2[0].msg = "none";
volumes.office_2[0].enabled = "true";
volumes.office_2[0].target = "transformer";
volumes.office_2[0].dir = "in";
volumes.office_2[0].points = [];
volumes.office_2[0].points[0] = new Point(-31.5, -86.5);
volumes.office_2[0].points[1] = new Point(30.5, -83.5);
volumes.office_2[0].points[2] = new Point(31.5, 80.5);
volumes.office_2[0].points[3] = new Point(-24.5, 86.5);
volumes.office_2[1] = new Object();
volumes.office_2[1].name = "Volume_2";
volumes.office_2[1].type = "transition";
volumes.office_2[1].center = new Point(33, 180.5);
volumes.office_2[1].enabled = "true";
volumes.office_2[1].duration = "8";
volumes.office_2[1].dir = "left";
volumes.office_2[1].msg = "none";
volumes.office_2[1].target = "office_1";
volumes.office_2[1].points = [];
volumes.office_2[1].points[0] = new Point(-33, -179.5);
volumes.office_2[1].points[1] = new Point(33, -178.5);
volumes.office_2[1].points[2] = new Point(30, 178.5);
volumes.office_2[1].points[3] = new Point(-33, 179.5);
volumes.office_2[2] = new Object();
volumes.office_2[2].name = "file_cabinet";
volumes.office_2[2].type = "action";
volumes.office_2[2].center = new Point(186, 171);
volumes.office_2[2].enabled = "false";
volumes.office_2[2].duration = "8";
volumes.office_2[2].dir = "in";
volumes.office_2[2].msg = "none";
volumes.office_2[2].target = "ACT_cabinet";
volumes.office_2[2].points = [];
volumes.office_2[2].points[0] = new Point(-59, -87);
volumes.office_2[2].points[1] = new Point(59, -84);
volumes.office_2[2].points[2] = new Point(59, 82);
volumes.office_2[2].points[3] = new Point(-51, 87);
volumes.office_dark = [];
volumes.office_dark[0] = new Object();
volumes.office_dark[0].name = "dark";
volumes.office_dark[0].type = "item";
volumes.office_dark[0].center = new Point(551.5, 178.5);
volumes.office_dark[0].enabled = "true";
volumes.office_dark[0].duration = "8";
volumes.office_dark[0].dir = "none";
volumes.office_dark[0].msg = "msg_7";
volumes.office_dark[0].target = "flashlight_ready";
volumes.office_dark[0].points = [];
volumes.office_dark[0].points[0] = new Point(-47.5, -178.5);
volumes.office_dark[0].points[1] = new Point(46.5, -178.5);
volumes.office_dark[0].points[2] = new Point(48.5, 177.5);
volumes.office_dark[0].points[3] = new Point(-48.5, 178.5);
volumes.office_dark[1] = new Object();
volumes.office_dark[1].name = "to_outside";
volumes.office_dark[1].type = "transition";
volumes.office_dark[1].center = new Point(244, 331);
volumes.office_dark[1].duration = "30";
volumes.office_dark[1].target = "office_front_1";
volumes.office_dark[1].enabled = "true";
volumes.office_dark[1].dir = "out";
volumes.office_dark[1].msg = "none";
volumes.office_dark[1].points = [];
volumes.office_dark[1].points[0] = new Point(-244, -26);
volumes.office_dark[1].points[1] = new Point(244, -24);
volumes.office_dark[1].points[2] = new Point(244, 26);
volumes.office_dark[1].points[3] = new Point(-244, 26);
volumes.office_dark[2] = new Object();
volumes.office_dark[2].name = "window";
volumes.office_dark[2].type = "text";
volumes.office_dark[2].center = new Point(203, 131.5);
volumes.office_dark[2].enabled = "true";
volumes.office_dark[2].duration = "8";
volumes.office_dark[2].dir = "none";
volumes.office_dark[2].msg = "msg_6";
volumes.office_dark[2].target = "none";
volumes.office_dark[2].points = [];
volumes.office_dark[2].points[0] = new Point(-24, -82.5);
volumes.office_dark[2].points[1] = new Point(17, -73.5);
volumes.office_dark[2].points[2] = new Point(24, 66.5);
volumes.office_dark[2].points[3] = new Point(-17, 82.5);
volumes.SEC_office_dark = [];
volumes.SEC_office_dark[0] = new Object();
volumes.SEC_office_dark[0].name = "go_back";
volumes.SEC_office_dark[0].type = "action";
volumes.SEC_office_dark[0].center = new Point(22, 180);
volumes.SEC_office_dark[0].duration = "8";
volumes.SEC_office_dark[0].dir = "none";
volumes.SEC_office_dark[0].enabled = "true";
volumes.SEC_office_dark[0].msg = "none";
volumes.SEC_office_dark[0].target = "ACT_office_dark";
volumes.SEC_office_dark[0].points = [];
volumes.SEC_office_dark[0].points[0] = new Point(-25, -182);
volumes.SEC_office_dark[0].points[1] = new Point(23, -182);
volumes.SEC_office_dark[0].points[2] = new Point(25, 182);
volumes.SEC_office_dark[0].points[3] = new Point(-24, 182);
volumes.SEC_office_dark[1] = new Object();
volumes.SEC_office_dark[1].name = "to_transformer";
volumes.SEC_office_dark[1].type = "transition";
volumes.SEC_office_dark[1].center = new Point(455.5, 160);
volumes.SEC_office_dark[1].duration = "30";
volumes.SEC_office_dark[1].msg = "none";
volumes.SEC_office_dark[1].enabled = "true";
volumes.SEC_office_dark[1].target = "transformer";
volumes.SEC_office_dark[1].dir = "in";
volumes.SEC_office_dark[1].points = [];
volumes.SEC_office_dark[1].points[0] = new Point(-40.5, -95);
volumes.SEC_office_dark[1].points[1] = new Point(53.5, -98);
volumes.SEC_office_dark[1].points[2] = new Point(31.5, 98);
volumes.SEC_office_dark[1].points[3] = new Point(-53.5, 97);
volumes.office_front_1 = [];
volumes.office_front_1[0] = new Object();
volumes.office_front_1[0].name = "Volume_2";
volumes.office_front_1[0].type = "transition";
volumes.office_front_1[0].center = new Point(317, 341.5);
volumes.office_front_1[0].duration = "8";
volumes.office_front_1[0].target = "outside_1";
volumes.office_front_1[0].enabled = "true";
volumes.office_front_1[0].dir = "out";
volumes.office_front_1[0].msg = "none";
volumes.office_front_1[0].points = [];
volumes.office_front_1[0].points[0] = new Point(-281, -17.5);
volumes.office_front_1[0].points[1] = new Point(283, -17.5);
volumes.office_front_1[0].points[2] = new Point(283, 17.5);
volumes.office_front_1[0].points[3] = new Point(-283, 14.5);
volumes.office_front_1[1] = new Object();
volumes.office_front_1[1].name = "painting";
volumes.office_front_1[1].type = "transition";
volumes.office_front_1[1].center = new Point(15.5, 179.5);
volumes.office_front_1[1].duration = "8";
volumes.office_front_1[1].target = "office_front_2";
volumes.office_front_1[1].enabled = "true";
volumes.office_front_1[1].dir = "left";
volumes.office_front_1[1].msg = "none";
volumes.office_front_1[1].points = [];
volumes.office_front_1[1].points[0] = new Point(-15.5, -178.5);
volumes.office_front_1[1].points[1] = new Point(15.5, -177.5);
volumes.office_front_1[1].points[2] = new Point(15.5, 178.5);
volumes.office_front_1[1].points[3] = new Point(-14.5, 178.5);
volumes.office_front_1[2] = new Object();
volumes.office_front_1[2].name = "enter_office";
volumes.office_front_1[2].type = "transition";
volumes.office_front_1[2].center = new Point(213, 201.5);
volumes.office_front_1[2].duration = "30";
volumes.office_front_1[2].target = "office_dark";
volumes.office_front_1[2].enabled = "true";
volumes.office_front_1[2].dir = "in";
volumes.office_front_1[2].msg = "none";
volumes.office_front_1[2].points = [];
volumes.office_front_1[2].points[0] = new Point(-83, -122.5);
volumes.office_front_1[2].points[1] = new Point(83, -120.5);
volumes.office_front_1[2].points[2] = new Point(85, 122.5);
volumes.office_front_1[2].points[3] = new Point(-85, 120.5);
volumes.office_front_1[3] = new Object();
volumes.office_front_1[3].name = "Volume_5";
volumes.office_front_1[3].type = "transition";
volumes.office_front_1[3].center = new Point(572.5, 160);
volumes.office_front_1[3].duration = "8";
volumes.office_front_1[3].target = "outside_1";
volumes.office_front_1[3].enabled = "true";
volumes.office_front_1[3].dir = "right";
volumes.office_front_1[3].msg = "none";
volumes.office_front_1[3].points = [];
volumes.office_front_1[3].points[0] = new Point(-29.5, -161);
volumes.office_front_1[3].points[1] = new Point(28.5, -162);
volumes.office_front_1[3].points[2] = new Point(30.5, 161);
volumes.office_front_1[3].points[3] = new Point(-30.5, 162);
volumes.office_front_2 = [];
volumes.office_front_2[0] = new Object();
volumes.office_front_2[0].name = "painting";
volumes.office_front_2[0].type = "text";
volumes.office_front_2[0].center = new Point(251, 203);
volumes.office_front_2[0].duration = "8";
volumes.office_front_2[0].target = "none";
volumes.office_front_2[0].enabled = "true";
volumes.office_front_2[0].dir = "none";
volumes.office_front_2[0].msg = "msg_3";
volumes.office_front_2[0].points = [];
volumes.office_front_2[0].points[0] = new Point(-80, -101);
volumes.office_front_2[0].points[1] = new Point(80, -100);
volumes.office_front_2[0].points[2] = new Point(76, 101);
volumes.office_front_2[0].points[3] = new Point(-80, 101);
volumes.office_front_2[1] = new Object();
volumes.office_front_2[1].name = "Volume_2";
volumes.office_front_2[1].type = "transition";
volumes.office_front_2[1].center = new Point(33, 181);
volumes.office_front_2[1].duration = "8";
volumes.office_front_2[1].target = "outside_1";
volumes.office_front_2[1].enabled = "true";
volumes.office_front_2[1].dir = "left";
volumes.office_front_2[1].msg = "none";
volumes.office_front_2[1].points = [];
volumes.office_front_2[1].points[0] = new Point(-33, -181);
volumes.office_front_2[1].points[1] = new Point(33, -180);
volumes.office_front_2[1].points[2] = new Point(31, 181);
volumes.office_front_2[1].points[3] = new Point(-31, 175);
volumes.office_front_2[2] = new Object();
volumes.office_front_2[2].name = "Volume_3";
volumes.office_front_2[2].type = "transition";
volumes.office_front_2[2].center = new Point(573.85, 180);
volumes.office_front_2[2].duration = "8";
volumes.office_front_2[2].target = "office_front_1";
volumes.office_front_2[2].enabled = "true";
volumes.office_front_2[2].dir = "right";
volumes.office_front_2[2].msg = "none";
volumes.office_front_2[2].points = [];
volumes.office_front_2[2].points[0] = new Point(-26.5, -179);
volumes.office_front_2[2].points[1] = new Point(26.5, -180);
volumes.office_front_2[2].points[2] = new Point(26.5, 180);
volumes.office_front_2[2].points[3] = new Point(-25.5, 178.1);
volumes.office_front_2[3] = new Object();
volumes.office_front_2[3].name = "under";
volumes.office_front_2[3].type = "transition";
volumes.office_front_2[3].center = new Point(254, 352.5);
volumes.office_front_2[3].duration = "8";
volumes.office_front_2[3].target = "under_painting";
volumes.office_front_2[3].enabled = "true";
volumes.office_front_2[3].dir = "down";
volumes.office_front_2[3].msg = "none";
volumes.office_front_2[3].points = [];
volumes.office_front_2[3].points[0] = new Point(-157, -11.5);
volumes.office_front_2[3].points[1] = new Point(157, -12.5);
volumes.office_front_2[3].points[2] = new Point(157, 10.5);
volumes.office_front_2[3].points[3] = new Point(-156, 12.5);
volumes.outside_1 = [];
volumes.outside_1[0] = new Object();
volumes.outside_1[0].name = "Volume_1";
volumes.outside_1[0].type = "text";
volumes.outside_1[0].center = new Point(319.5, 117);
volumes.outside_1[0].target = "none";
volumes.outside_1[0].duration = "4";
volumes.outside_1[0].dir = "none";
volumes.outside_1[0].msg = "msg_2";
volumes.outside_1[0].enabled = "true";
volumes.outside_1[0].points = [];
volumes.outside_1[0].points[0] = new Point(-22.5, -31);
volumes.outside_1[0].points[1] = new Point(20.5, -31);
volumes.outside_1[0].points[2] = new Point(22.5, 31);
volumes.outside_1[0].points[3] = new Point(-20.5, 30);
volumes.outside_1[1] = new Object();
volumes.outside_1[1].name = "Volume_2";
volumes.outside_1[1].type = "text";
volumes.outside_1[1].center = new Point(421, 117);
volumes.outside_1[1].target = "office_front_1";
volumes.outside_1[1].duration = "8";
volumes.outside_1[1].dir = "none";
volumes.outside_1[1].msg = "msg_2";
volumes.outside_1[1].enabled = "true";
volumes.outside_1[1].points = [];
volumes.outside_1[1].points[0] = new Point(-19, -27);
volumes.outside_1[1].points[1] = new Point(18, -27);
volumes.outside_1[1].points[2] = new Point(19, 27);
volumes.outside_1[1].points[3] = new Point(-18, 27);
volumes.outside_1[2] = new Object();
volumes.outside_1[2].name = "Volume_3";
volumes.outside_1[2].type = "transition";
volumes.outside_1[2].center = new Point(193, 122);
volumes.outside_1[2].target = "office_front_1";
volumes.outside_1[2].duration = "8";
volumes.outside_1[2].dir = "in";
volumes.outside_1[2].msg = "msg_2";
volumes.outside_1[2].enabled = "true";
volumes.outside_1[2].points = [];
volumes.outside_1[2].points[0] = new Point(-53, -64);
volumes.outside_1[2].points[1] = new Point(53, -69);
volumes.outside_1[2].points[2] = new Point(53, 67);
volumes.outside_1[2].points[3] = new Point(-52, 69);
volumes.outside_1[3] = new Object();
volumes.outside_1[3].name = "Volume_4";
volumes.outside_1[3].type = "text";
volumes.outside_1[3].center = new Point(190.5, 24.5);
volumes.outside_1[3].target = "none";
volumes.outside_1[3].duration = "8";
volumes.outside_1[3].dir = "none";
volumes.outside_1[3].msg = "msg_4";
volumes.outside_1[3].enabled = "true";
volumes.outside_1[3].points = [];
volumes.outside_1[3].points[0] = new Point(-51.5, -13.5);
volumes.outside_1[3].points[1] = new Point(50.5, -11.5);
volumes.outside_1[3].points[2] = new Point(51.5, 13.5);
volumes.outside_1[3].points[3] = new Point(-51.5, 13.5);
volumes.outside_1[4] = new Object();
volumes.outside_1[4].name = "Volume_28";
volumes.outside_1[4].type = "transition";
volumes.outside_1[4].center = new Point(554, 82);
volumes.outside_1[4].target = "crypt_gate";
volumes.outside_1[4].duration = "8";
volumes.outside_1[4].dir = "right";
volumes.outside_1[4].msg = "none";
volumes.outside_1[4].enabled = "true";
volumes.outside_1[4].points = [];
volumes.outside_1[4].points[0] = new Point(-45, -79);
volumes.outside_1[4].points[1] = new Point(46, -78);
volumes.outside_1[4].points[2] = new Point(44, 79);
volumes.outside_1[4].points[3] = new Point(-46, 77);
volumes.outside_1[5] = new Object();
volumes.outside_1[5].name = "Volume_47";
volumes.outside_1[5].type = "transition";
volumes.outside_1[5].center = new Point(299, 346);
volumes.outside_1[5].target = "graveyard";
volumes.outside_1[5].duration = "8";
volumes.outside_1[5].dir = "out";
volumes.outside_1[5].msg = "none";
volumes.outside_1[5].enabled = "true";
volumes.outside_1[5].points = [];
volumes.outside_1[5].points[0] = new Point(-299, -14);
volumes.outside_1[5].points[1] = new Point(299, -12);
volumes.outside_1[5].points[2] = new Point(298, 13);
volumes.outside_1[5].points[3] = new Point(-299, 14);
volumes.sockets = [];
volumes.sockets[0] = new Object();
volumes.sockets[0].name = "gem_red";
volumes.sockets[0].type = "item";
volumes.sockets[0].center = new Point(199, 97.5);
volumes.sockets[0].enabled = "true";
volumes.sockets[0].duration = "8";
volumes.sockets[0].dir = "none";
volumes.sockets[0].msg = "msg_13";
volumes.sockets[0].target = "gem_red";
volumes.sockets[0].points = [];
volumes.sockets[0].points[0] = new Point(-10, -16.5);
volumes.sockets[0].points[1] = new Point(16, -13.5);
volumes.sockets[0].points[2] = new Point(14, 16.5);
volumes.sockets[0].points[3] = new Point(-16, 16.5);
volumes.sockets[1] = new Object();
volumes.sockets[1].name = "gem_blue";
volumes.sockets[1].type = "item";
volumes.sockets[1].center = new Point(307, 102.5);
volumes.sockets[1].enabled = "true";
volumes.sockets[1].duration = "8";
volumes.sockets[1].dir = "none";
volumes.sockets[1].msg = "msg_13";
volumes.sockets[1].target = "gem_blue";
volumes.sockets[1].points = [];
volumes.sockets[1].points[0] = new Point(-15, -14.5);
volumes.sockets[1].points[1] = new Point(15, -15.5);
volumes.sockets[1].points[2] = new Point(15, 15.5);
volumes.sockets[1].points[3] = new Point(-13, 15.5);
volumes.sockets[2] = new Object();
volumes.sockets[2].name = "gem_green";
volumes.sockets[2].type = "item";
volumes.sockets[2].center = new Point(415, 103.5);
volumes.sockets[2].duration = "8";
volumes.sockets[2].msg = "msg_13";
volumes.sockets[2].enabled = "true";
volumes.sockets[2].target = "gem_green";
volumes.sockets[2].dir = "none";
volumes.sockets[2].points = [];
volumes.sockets[2].points[0] = new Point(-16, -13.5);
volumes.sockets[2].points[1] = new Point(13, -14.5);
volumes.sockets[2].points[2] = new Point(16, 14.5);
volumes.sockets[2].points[3] = new Point(-9, 14.5);
volumes.sockets[3] = new Object();
volumes.sockets[3].name = "return";
volumes.sockets[3].type = "transition";
volumes.sockets[3].center = new Point(299, 334.5);
volumes.sockets[3].duration = "8";
volumes.sockets[3].target = "crypt_1";
volumes.sockets[3].enabled = "true";
volumes.sockets[3].dir = "out";
volumes.sockets[3].msg = "none";
volumes.sockets[3].points = [];
volumes.sockets[3].points[0] = new Point(-300, -24.5);
volumes.sockets[3].points[1] = new Point(300, -23.5);
volumes.sockets[3].points[2] = new Point(300, 24.5);
volumes.sockets[3].points[3] = new Point(-300, 24.5);
volumes.sockets[4] = new Object();
volumes.sockets[4].name = "young";
volumes.sockets[4].type = "text";
volumes.sockets[4].center = new Point(292, 259.5);
volumes.sockets[4].duration = "8";
volumes.sockets[4].msg = "msg_33";
volumes.sockets[4].enabled = "true";
volumes.sockets[4].target = "none";
volumes.sockets[4].dir = "none";
volumes.sockets[4].points = [];
volumes.sockets[4].points[0] = new Point(-202, -29.5);
volumes.sockets[4].points[1] = new Point(202, -20.5);
volumes.sockets[4].points[2] = new Point(207, 29.5);
volumes.sockets[4].points[3] = new Point(-207, 16.5);
volumes.tool_shed = [];
volumes.tool_shed[0] = new Object();
volumes.tool_shed[0].name = "return";
volumes.tool_shed[0].type = "transition";
volumes.tool_shed[0].center = new Point(299, 337);
volumes.tool_shed[0].duration = "30";
volumes.tool_shed[0].target = "tool_shed_front";
volumes.tool_shed[0].enabled = "true";
volumes.tool_shed[0].dir = "out";
volumes.tool_shed[0].msg = "none";
volumes.tool_shed[0].points = [];
volumes.tool_shed[0].points[0] = new Point(-300, -19);
volumes.tool_shed[0].points[1] = new Point(299, -21);
volumes.tool_shed[0].points[2] = new Point(300, 21);
volumes.tool_shed[0].points[3] = new Point(-300, 21);
volumes.tool_shed[1] = new Object();
volumes.tool_shed[1].name = "locker";
volumes.tool_shed[1].type = "item";
volumes.tool_shed[1].center = new Point(399.5, 183);
volumes.tool_shed[1].enabled = "true";
volumes.tool_shed[1].duration = "8";
volumes.tool_shed[1].dir = "none";
volumes.tool_shed[1].msg = "msg_12";
volumes.tool_shed[1].target = "lock_pick";
volumes.tool_shed[1].points = [];
volumes.tool_shed[1].points[0] = new Point(-35.5, -73);
volumes.tool_shed[1].points[1] = new Point(39.5, -58);
volumes.tool_shed[1].points[2] = new Point(30.5, 73);
volumes.tool_shed[1].points[3] = new Point(-39.5, 57);
volumes.tool_shed_front = [];
volumes.tool_shed_front[0] = new Object();
volumes.tool_shed_front[0].name = "shed_door";
volumes.tool_shed_front[0].type = "item";
volumes.tool_shed_front[0].center = new Point(338, 179.5);
volumes.tool_shed_front[0].duration = "30";
volumes.tool_shed_front[0].msg = "msg_11";
volumes.tool_shed_front[0].enabled = "true";
volumes.tool_shed_front[0].target = "tool_shed_key";
volumes.tool_shed_front[0].dir = "in";
volumes.tool_shed_front[0].points = [];
volumes.tool_shed_front[0].points[0] = new Point(-50, -92.5);
volumes.tool_shed_front[0].points[1] = new Point(54, -90.5);
volumes.tool_shed_front[0].points[2] = new Point(49, 90.5);
volumes.tool_shed_front[0].points[3] = new Point(-54, 92.5);
volumes.tool_shed_front[1] = new Object();
volumes.tool_shed_front[1].name = "Volume_2";
volumes.tool_shed_front[1].type = "transition";
volumes.tool_shed_front[1].center = new Point(31, 181);
volumes.tool_shed_front[1].enabled = "true";
volumes.tool_shed_front[1].duration = "8";
volumes.tool_shed_front[1].dir = "left";
volumes.tool_shed_front[1].msg = "none";
volumes.tool_shed_front[1].target = "crypt_gate";
volumes.tool_shed_front[1].points = [];
volumes.tool_shed_front[1].points[0] = new Point(-31, -181);
volumes.tool_shed_front[1].points[1] = new Point(31, -180);
volumes.tool_shed_front[1].points[2] = new Point(28, 181);
volumes.tool_shed_front[1].points[3] = new Point(-30, 180);
volumes.tool_shed_front[2] = new Object();
volumes.tool_shed_front[2].name = "Volume_3";
volumes.tool_shed_front[2].type = "transition";
volumes.tool_shed_front[2].center = new Point(571.5, 181);
volumes.tool_shed_front[2].enabled = "true";
volumes.tool_shed_front[2].duration = "8";
volumes.tool_shed_front[2].dir = "right";
volumes.tool_shed_front[2].msg = "none";
volumes.tool_shed_front[2].target = "graveyard";
volumes.tool_shed_front[2].points = [];
volumes.tool_shed_front[2].points[0] = new Point(-27.5, -179);
volumes.tool_shed_front[2].points[1] = new Point(27.5, -181);
volumes.tool_shed_front[2].points[2] = new Point(27.5, 181);
volumes.tool_shed_front[2].points[3] = new Point(-27.5, 180);
volumes.transformer = [];
volumes.transformer[0] = new Object();
volumes.transformer[0].name = "back_to_office";
volumes.transformer[0].type = "transition";
volumes.transformer[0].center = new Point(299, 340);
volumes.transformer[0].duration = "30";
volumes.transformer[0].target = "office_dark";
volumes.transformer[0].enabled = "true";
volumes.transformer[0].dir = "out";
volumes.transformer[0].msg = "none";
volumes.transformer[0].points = [];
volumes.transformer[0].points[0] = new Point(-299, -23);
volumes.transformer[0].points[1] = new Point(301, -22);
volumes.transformer[0].points[2] = new Point(301, 23);
volumes.transformer[0].points[3] = new Point(-301, 19);
volumes.transformer[1] = new Object();
volumes.transformer[1].name = "transformer";
volumes.transformer[1].type = "action";
volumes.transformer[1].center = new Point(344, 162);
volumes.transformer[1].enabled = "true";
volumes.transformer[1].duration = "8";
volumes.transformer[1].dir = "none";
volumes.transformer[1].msg = "none";
volumes.transformer[1].target = "ACT_transformer";
volumes.transformer[1].points = [];
volumes.transformer[1].points[0] = new Point(-26, -33);
volumes.transformer[1].points[1] = new Point(26, -33);
volumes.transformer[1].points[2] = new Point(26, 33);
volumes.transformer[1].points[3] = new Point(-26, 33);
volumes.transformer[2] = new Object();
volumes.transformer[2].name = "window";
volumes.transformer[2].type = "text";
volumes.transformer[2].center = new Point(171.5, 143);
volumes.transformer[2].enabled = "false";
volumes.transformer[2].duration = "8";
volumes.transformer[2].dir = "none";
volumes.transformer[2].msg = "msg_32";
volumes.transformer[2].target = "none";
volumes.transformer[2].points = [];
volumes.transformer[2].points[0] = new Point(-11.5, -59);
volumes.transformer[2].points[1] = new Point(11.5, -54);
volumes.transformer[2].points[2] = new Point(9.5, 56);
volumes.transformer[2].points[3] = new Point(-11.5, 59);
volumes.under_painting = [];
volumes.under_painting[0] = new Object();
volumes.under_painting[0].name = "return";
volumes.under_painting[0].type = "transition";
volumes.under_painting[0].center = new Point(299, 24);
volumes.under_painting[0].duration = "8";
volumes.under_painting[0].msg = "none";
volumes.under_painting[0].enabled = "true";
volumes.under_painting[0].target = "office_front_2";
volumes.under_painting[0].dir = "up";
volumes.under_painting[0].points = [];
volumes.under_painting[0].points[0] = new Point(-300, -25);
volumes.under_painting[0].points[1] = new Point(300, -22);
volumes.under_painting[0].points[2] = new Point(298, 25);
volumes.under_painting[0].points[3] = new Point(-298, 23);
}
public function faderTransitionScene(_arg1:uint=4):void{
addToLayer(fader, 14);
fade.duration = (_arg1 / 2);
fade.begin = 0;
fade.finish = 1;
fade.addEventListener(TweenEvent.MOTION_FINISH, faderSwithcScene);
fade.rewind();
fade.start();
}
public function gotoScene(_arg1:String, _arg2:uint=4, _arg3:Boolean=true):void{
this.target = _arg1;
if (currentGScene != null){
currentGScene.disableVolumes();
};
if (itemScripts.leave_scene[currentGScene.name] != null){
itemScripts.leave_scene[currentGScene.name].call();
};
if (_arg3){
faderTransitionScene(_arg2);
} else {
trace(("Moving to Scene " + _arg1));
loadScene(_arg1);
};
}
}
}//package code
Section 2
//GameScene (code.GameScene)
package code {
import flash.display.*;
import flash.utils.*;
public class GameScene extends MovieClip {
public var otherVols:Array;
public var bg:MovieClip;
public var MOUSE_VISIBLE:Boolean;// = true
public var volumes:Sprite;
public var game:Game;
public function GameScene(_arg1:String, _arg2:Game){
MOUSE_VISIBLE = true;
super();
this.name = _arg1;
this.game = _arg2;
}
public function init():void{
var _local1:Class;
_local1 = (getDefinitionByName(name) as Class);
this.bg = new (_local1);
addChild(this.bg);
if (bg.init != null){
bg.init(game);
};
loadVolumes(name);
disableVolumes();
initItems();
}
public function disableVolume(_arg1:String):void{
var _local2:*;
_local2 = volumes.getChildByName(_arg1);
_local2.enabled = false;
_local2.disable();
}
public function enableVolume(_arg1:String):void{
var _local2:*;
_local2 = volumes.getChildByName(_arg1);
_local2.enabled = true;
_local2.enable();
}
private function initItems():void{
var _local1:Item;
var _local2:*;
_local2 = 0;
while (_local2 < bg.numChildren) {
_local1 = (bg.getChildAt(_local2) as Item);
if (_local1 != null){
_local1.init();
};
_local2++;
};
}
public function disableVolumes():void{
var _local1:*;
var _local2:*;
if ((((volumes == null)) || ((volumes.numChildren <= 0)))){
return;
};
_local2 = 0;
while (_local2 < volumes.numChildren) {
_local1 = volumes.getChildAt(_local2);
_local1.disable();
_local2++;
};
}
public function swapVolumes(_arg1:uint):void{
var _local2:GameVolume;
var _local3:*;
deleteAllVolumes();
_local3 = 0;
while (_local3 < otherVols[_arg1].length) {
_local2 = new GameVolume(otherVols[_arg1][_local3], game);
volumes.addChild(_local2);
_local3++;
};
}
public function enableVolumes():void{
var _local1:*;
var _local2:*;
if ((((volumes == null)) || ((volumes.numChildren <= 0)))){
return;
};
_local2 = 0;
while (_local2 < volumes.numChildren) {
_local1 = volumes.getChildAt(_local2);
if (_local1.enabled == true){
_local1.enable();
};
_local2++;
};
}
public function deleteVolume(_arg1:String):void{
volumes.removeChild(volumes.getChildByName(_arg1));
}
public function changeVolumeProperties(_arg1:String, _arg2:Object):void{
var _local3:*;
var _local4:*;
_local3 = volumes.getChildByName(_arg1);
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
}
public function deleteAllVolumes():void{
while (volumes.numChildren > 0) {
volumes.removeChild(volumes.getChildAt(0));
};
}
private function loadVolumes(_arg1:String):void{
var _local2:GameVolume;
var _local3:*;
if (game.volumes[_arg1] == null){
return;
};
volumes = new Sprite();
addChildAt(volumes, 1);
_local3 = 0;
while (_local3 < game.volumes[_arg1].length) {
_local2 = new GameVolume(game.volumes[_arg1][_local3], game);
volumes.addChild(_local2);
_local3++;
};
if (game.volumes[("SEC_" + _arg1)] != null){
trace(("Loading Secondary volumes on: " + _arg1));
otherVols = [];
otherVols.push(game.volumes[_arg1]);
otherVols.push(game.volumes[("SEC_" + _arg1)]);
};
}
}
}//package code
Section 3
//GameVolume (code.GameVolume)
package code {
import flash.display.*;
import flash.events.*;
import code.*;
import flash.ui.*;
class GameVolume extends Sprite {
public var type:String;
public var enabled:Boolean;
public var msg:String;
public var target:String;
public var duration:uint;
public var dir:String;
public var game:Game;
function GameVolume(_arg1:Object, _arg2:Game){
this.game = _arg2;
x = _arg1.center.x;
y = _arg1.center.y;
this.alpha = 0;
this.name = _arg1.name;
this.type = _arg1.type;
this.duration = ((_arg1.duration)!=null) ? _arg1.duration : 8;
this.dir = ((_arg1.dir)!=null) ? _arg1.dir : "none";
this.target = _arg1.target;
this.msg = _arg1.msg;
this.enabled = ((((_arg1.enabled == null)) || ((_arg1.enabled == "true")))) ? true : false;
graphics.lineStyle(1, 0, 0);
graphics.moveTo(_arg1.points[0].x, _arg1.points[0].y);
graphics.beginFill(0xFF0000);
graphics.lineTo(_arg1.points[1].x, _arg1.points[1].y);
graphics.lineTo(_arg1.points[2].x, _arg1.points[2].y);
graphics.lineTo(_arg1.points[3].x, _arg1.points[3].y);
graphics.lineTo(_arg1.points[0].x, _arg1.points[0].y);
graphics.endFill();
if (enabled){
enable();
};
}
public function enable():void{
buttonMode = true;
useHandCursor = true;
mouseEnabled = true;
mouseChildren = true;
addEventListener(MouseEvent.MOUSE_DOWN, clickAction);
addEventListener(MouseEvent.MOUSE_OVER, hoverAction);
addEventListener(MouseEvent.MOUSE_OUT, hoverAction);
}
public function hoverAction(_arg1:MouseEvent):void{
if (type != "transition"){
return;
};
switch (_arg1.type){
case MouseEvent.MOUSE_OVER:
game.arrows.gotoAndStop(dir);
game.arrows.addEventListener(Event.ENTER_FRAME, game.arrows.active);
Mouse.hide();
break;
case MouseEvent.MOUSE_OUT:
game.arrows.gotoAndStop("NONE");
Mouse.show();
break;
};
}
public function clickAction(_arg1:MouseEvent):void{
var _local2:String;
_local2 = game.messages[this.msg.split("_")[1]];
switch (type){
case "text":
trace(_local2);
if (_local2 != null){
game.spawnMessageBox(_local2);
} else {
if (this.msg != "none"){
trace(((name + ": No message defined for message ID: ") + this.msg));
};
};
break;
case "transition":
game.arrows.gotoAndStop("NONE");
game.gotoScene(target, duration);
break;
case "item":
trace(("Item Action called on : " + target));
if (((!((game.inventory.activeItem == null))) && ((game.inventory.activeItem.name == target)))){
game.inventory.useItem();
} else {
if (game.inventory.activeItem == null){
if (((!((this.msg == "none"))) && (!((_local2 == null))))){
game.spawnMessageBox(_local2);
trace(("Message: " + _local2));
} else {
trace(((name + ": No message defined for message ID: ") + this.msg));
};
};
};
break;
case "action":
trace(((("Acton Volume '" + name) + "' calling script: ") + target));
if (game.itemScripts[target] != null){
game.itemScripts[target].action();
} else {
trace((("Volume " + name) + ": Action Volume Script not found."));
};
break;
default:
trace("Type not found");
break;
};
}
public function disable():void{
buttonMode = false;
useHandCursor = false;
mouseEnabled = false;
mouseChildren = false;
removeEventListener(MouseEvent.MOUSE_DOWN, clickAction);
removeEventListener(MouseEvent.MOUSE_OVER, hoverAction);
removeEventListener(MouseEvent.MOUSE_OUT, hoverAction);
}
}
}//package code
Section 4
//Inventory (code.Inventory)
package code {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class Inventory extends MovieClip {
public var states;
public var infoButtons:Array;
public var slotSize:uint;
public var slots:Array;
public var activeItem:Item;
public var itemInfo:ItemInfo;
var DISABLED:Boolean;// = false
public var state:int;
public var inventoryState:int;
private var slotYSpacing:uint;
public var slotCount:uint;
public var helper:MovieClip;
private var slotSpacing:uint;
public var items:Array;
public var game:Object;
public function Inventory(_arg1){
items = [];
DISABLED = false;
super();
this.game = _arg1;
initStates();
state = states.ENABLED;
}
private function initSlots():void{
var _local1:Point;
var _local2:*;
slots = [];
infoButtons = [];
_local2 = 0;
while (_local2 < slotCount) {
slots.push(new Sprite());
addChild(slots[_local2]);
slots[_local2].name = _local2;
slots[_local2].graphics.moveTo(0, 0);
slots[_local2].graphics.beginFill(0xFF0000);
slots[_local2].graphics.drawRect(0, 0, slotSize, slotSize);
slots[_local2].graphics.endFill();
slots[_local2].alpha = 0;
_local1 = getSlotPos(_local2);
slots[_local2].x = _local1.x;
slots[_local2].y = _local1.y;
_local2++;
};
_local2 = 0;
while (_local2 < slotCount) {
infoButtons.push(new InfoButton());
infoButtons[_local2].name = _local2;
_local1 = getSlotPos(_local2);
infoButtons[_local2].x = _local1.x;
infoButtons[_local2].y = (_local1.y + (slotSize + 6));
_local2++;
};
}
public function init():void{
y = (stage.stageHeight - height);
slotCount = 10;
slotSpacing = 20;
slotYSpacing = 10;
slotSize = ((600 - (slotSpacing * (slotCount + 1))) / slotCount);
trace(("Inventory: Slot Size: " + slotSize));
initSlots();
drawSlots();
itemInfo = new ItemInfo(game);
itemInfo.init();
itemInfo.x = ((stage.stageWidth / 2) - (itemInfo.width / 2));
itemInfo.y = (stage.y + 44);
}
private function initStates():void{
states = new Object();
states.DISABLED = 0;
states.ENABLED = 1;
states.INSPECTING = 2;
}
public function addItem(_arg1):void{
trace(("INVENTORY Adding item: " + _arg1.name));
_arg1.gotoAndStop("INVENTORY");
this.items.push(_arg1);
addChild(_arg1);
_arg1.owner = this;
updateInventory();
if (game.itemScripts[("PICK_" + _arg1.name)] != null){
game.itemScripts[("PICK_" + _arg1.name)].action();
};
}
public function clickInfo(_arg1:MouseEvent):void{
switch (state){
case states.ENABLED:
setState(states.INSPECTING);
itemInfo.setItem(items[Number(_arg1.target.name)].name);
game.addToLayer(itemInfo, 10);
game.currentGScene.disableVolumes();
break;
case states.INSPECTING:
itemInfo.setItem(items[Number(_arg1.target.name)].name);
break;
};
}
public function getItemByName(_arg1:String):Item{
var _local2:uint;
_local2 = 0;
while (_local2 < items.length) {
if (items[_local2].name == _arg1){
return (items[_local2]);
};
_local2++;
};
return (null);
}
public function deleteItem(_arg1:String):void{
var _local2:*;
_local2 = getChildByName(_arg1);
removeChild(_local2);
items.splice(Number(_local2.slot), 1);
updateInventory();
}
public function setState(_arg1:int):void{
var _local2:uint;
state = _arg1;
switch (_arg1){
case states.DISABLED:
trace("Inventory: Changing Inventory to DISABLED state");
_local2 = 0;
while (_local2 < items.length) {
slots[_local2].removeEventListener(MouseEvent.CLICK, clickItem);
slots[_local2].buttonMode = false;
slots[_local2].useHandCursor = false;
infoButtons[_local2].removeEventListener(MouseEvent.CLICK, clickInfo);
infoButtons[_local2].buttonMode = false;
infoButtons[_local2].useHandCursor = false;
_local2++;
};
break;
case states.ENABLED:
trace(" Inventory: Changing Inventory to ENABLED state");
_local2 = 0;
while (_local2 < items.length) {
slots[_local2].addEventListener(MouseEvent.CLICK, clickItem);
slots[_local2].buttonMode = true;
slots[_local2].useHandCursor = true;
infoButtons[_local2].addEventListener(MouseEvent.CLICK, clickInfo);
infoButtons[_local2].buttonMode = true;
infoButtons[_local2].useHandCursor = true;
_local2++;
};
break;
case states.INSPECTING:
trace(" Inventory: Changing Inventory to INSPECTING state");
break;
default:
trace("Inventory: State not found");
break;
};
}
private function drawSlots():void{
var _local1:InventoryBox;
var _local2:Point;
var _local3:*;
_local3 = 0;
while (_local3 < slotCount) {
_local1 = new InventoryBox();
_local1.name = ("slot_box_" + _local3);
_local2 = getSlotPos(_local3);
_local1.x = _local2.x;
_local1.y = _local2.y;
addChild(_local1);
_local3++;
};
}
public function updateInventory():void{
var _local1:Point;
var _local2:*;
_local2 = 0;
while (_local2 < items.length) {
_local1 = getSlotPos(_local2);
items[_local2].x = _local1.x;
items[_local2].y = _local1.y;
items[_local2].slot = _local2;
_local2++;
};
_local2 = 0;
while (_local2 < slotCount) {
if ((((_local2 < items.length)) && (!(slots[_local2].hasEventListener(MouseEvent.CLICK))))){
slots[_local2].addEventListener(MouseEvent.CLICK, clickItem);
slots[_local2].buttonMode = true;
slots[_local2].useHandCursor = true;
infoButtons[_local2].addEventListener(MouseEvent.CLICK, clickInfo);
infoButtons[_local2].buttonMode = true;
infoButtons[_local2].useHandCursor = true;
if (!this.contains(infoButtons[_local2])){
addChild(infoButtons[_local2]);
};
} else {
if (_local2 >= items.length){
slots[_local2].removeEventListener(MouseEvent.CLICK, clickItem);
slots[_local2].buttonMode = false;
slots[_local2].useHandCursor = false;
infoButtons[_local2].removeEventListener(MouseEvent.CLICK, clickInfo);
infoButtons[_local2].buttonMode = false;
infoButtons[_local2].useHandCursor = false;
if (this.contains(infoButtons[_local2])){
removeChild(infoButtons[_local2]);
};
};
};
_local2++;
};
}
public function useItem():void{
game.itemScripts[activeItem.name].action();
game.removeFromLayer(activeItem, 11);
items.splice(Number(activeItem.slot), 1);
activeItem = null;
updateInventory();
}
public function activateItem(_arg1:uint):void{
activeItem = items[_arg1];
game.addToLayer(activeItem, 11);
items[_arg1].startDrag(true);
}
public function mixItem(_arg1:String):void{
var _local2:int;
game.removeFromLayer(activeItem, 11);
items.splice(Number(activeItem.slot), 1);
_local2 = 0;
while (_local2 < items.length) {
if (items[_local2].name == _arg1){
removeChild(items[_local2]);
items.splice(_local2, 1);
_local2 = 100;
};
_local2++;
};
activeItem = null;
updateInventory();
}
private function getSlotPos(_arg1:uint):Point{
var _local2:Point;
_local2 = new Point(0, 0);
_local2.x = (((slotSpacing + slotSize) * _arg1) + slotSpacing);
_local2.y = slotYSpacing;
return (_local2);
}
public function clickItem(_arg1:MouseEvent):void{
trace(("Inventory: Clicked on Slot " + _arg1.target.name));
game.soundManager.playSound("pickup");
if (activeItem == null){
activateItem(Number(_arg1.target.name));
} else {
if (((!((activeItem == null))) && ((activeItem.slot == Number(_arg1.target.name))))){
deactivateItem(Number(_arg1.target.name));
};
};
}
public function deactivateItem(_arg1:uint):void{
addChild(activeItem);
items[_arg1].stopDrag();
activeItem = null;
updateInventory();
}
public function clearInventory():void{
var _local1:uint;
var _local2:Sprite;
var _local3:*;
_local1 = numChildren;
_local2 = new Sprite();
_local2.graphics.beginFill(0);
_local2.graphics.drawRect(0, 0, 600, 70);
_local2.graphics.endFill();
_local3 = 0;
while (_local3 < _local1) {
removeChildAt(0);
_local3++;
};
addChild(_local2);
}
}
}//package code
Section 5
//Item (code.Item)
package code {
import flash.display.*;
import flash.events.*;
public class Item extends MovieClip {
public var slot:uint;
public var owner;
public var game;
public function init():void{
owner = this.parent.parent;
game = owner.game;
buttonMode = true;
useHandCursor = true;
addEventListener(MouseEvent.CLICK, itemClick);
}
public function itemClick(_arg1:MouseEvent):void{
if (owner != game.inventory){
trace(("picking up " + name));
removeEventListener(MouseEvent.CLICK, itemClick);
mouseEnabled = false;
mouseChildren = false;
buttonMode = false;
useHandCursor = false;
game.inventory.addItem(this);
game.soundManager.playSound("pickup");
};
}
public function mixInit():void{
mouseEnabled = false;
mouseChildren = false;
buttonMode = false;
useHandCursor = false;
}
}
}//package code
Section 6
//ItemInfo (code.ItemInfo)
package code {
import flash.display.*;
import flash.events.*;
public class ItemInfo extends MovieClip {
public var item:String;// = "none"
public var pass_info:MovieClip;
public var closeBtn:MovieClip;
public var game;
public function ItemInfo(_arg1=null){
item = "none";
super();
addFrameScript(0, frame1, 14, frame15);
this.game = _arg1;
}
public function closeWindow(_arg1:MouseEvent):void{
trace("ItemInfo: Closing");
game.removeFromLayer(this, 10);
game.inventory.setState(game.inventory.states.ENABLED);
setItem("none");
game.currentGScene.enableVolumes();
}
public function init():void{
addEventListener(MouseEvent.CLICK, clickAction);
closeBtn.buttonMode = true;
closeBtn.useHandCursor = true;
closeBtn.addEventListener(MouseEvent.CLICK, closeWindow);
}
function frame15(){
pass_info.login.text = game.login[0];
pass_info.pass.text = game.login[1];
pass_info.login.selectable = false;
pass_info.pass.selectable = false;
}
function frame1(){
stop();
}
public function enable():void{
addEventListener(MouseEvent.CLICK, clickAction);
mouseChildren = true;
}
public function setItem(_arg1:String):void{
this.item = _arg1;
gotoAndStop(_arg1);
}
public function clickAction(_arg1:MouseEvent):void{
if (_arg1.eventPhase != EventPhase.AT_TARGET){
return;
};
trace(("ItemInfo: Clicked on Item info: " + item));
if ((((((game.inventory.activeItem == null)) && (!((game.itemScripts[("INFO_" + item)] == null))))) && ((game.itemScripts[("INFO_" + item)].target == null)))){
game.itemScripts[("INFO_" + item)].action();
} else {
if (((!((game.inventory.activeItem == null))) && (!((game.itemScripts[("INFO_" + item)] == null))))){
if (game.inventory.activeItem.name == game.itemScripts[("INFO_" + item)].target){
game.itemScripts[("INFO_" + item)].action();
};
} else {
if (game.inventory.activeItem == null){
game.spawnMessageBox(game.messages[0][item]);
};
};
};
}
public function disable():void{
removeEventListener(MouseEvent.CLICK, clickAction);
mouseChildren = false;
}
}
}//package code
Section 7
//MessageBox (code.MessageBox)
package code {
import flash.display.*;
import flash.events.*;
import fl.transitions.*;
import flash.text.*;
import fl.transitions.easing.*;
public class MessageBox extends MovieClip {
public var targetFunc:Function;
public var msg_box:TextField;
public var nBtn:MovieClip;
private var spawnAnim:Object;
public var msg:String;
public var target;
public var close_btn:MovieClip;
public var currentPage:int;// = 0
public var param:Array;
public var pages:Array;
public var game;
public function MessageBox(_arg1:String, _arg2, _arg3=null, _arg4:Function=null, _arg5:Array=null){
currentPage = 0;
super();
this.game = _arg2;
this.target = _arg3;
this.targetFunc = _arg4;
this.param = _arg5;
this.msg_box.selectable = false;
this.msg_box.multiline = true;
this.msg_box.maxChars = 328;
this.msg_box.mouseWheelEnabled = false;
this.msg_box.wordWrap = true;
this.msg = _arg1;
pages = getPages(_arg1);
this.msg_box.text = pages[0];
}
function init():void{
x = ((stage.stageWidth / 2) - (width / 2));
y = ((stage.stageHeight - height) - 10);
this.alpha = 0;
spawnAnim = new Object();
spawnAnim.t = new Tween(this, "alpha", Strong.easeOut, 0, 1, 16);
spawnAnim.m = new Tween(this, "y", Strong.easeOut, (y + 20), y, 16);
close_btn.buttonMode = true;
close_btn.useHandCursor = true;
close_btn.md = function (_arg1:MouseEvent):void{
var _local2:*;
_local2 = _arg1.target.parent;
if (_arg1.shiftKey){
_local2.currentPage = (((_local2.currentPage - 1) < 0)) ? _local2.currentPage : (_local2.currentPage - 1);
_local2.msg_box.text = _local2.pages[_local2.currentPage];
} else {
if ((_local2.currentPage + 1) >= _local2.pages.length){
game.currentGScene.enableVolumes();
game.inventory.setState(game.inventory.states.ENABLED);
game.inventory.itemInfo.enable();
if (((!((targetFunc == null))) && (!((target == null))))){
targetFunc.apply(target, param);
};
game.killChild(_arg1.target.parent, 11);
};
_local2.currentPage = (((_local2.currentPage + 1) >= _local2.pages.length)) ? _local2.currentPage : (_local2.currentPage + 1);
_local2.msg_box.text = _local2.pages[_local2.currentPage];
};
};
close_btn.addEventListener(MouseEvent.MOUSE_DOWN, close_btn.md);
}
private function getPages(_arg1:String):Array{
var _local2:Array;
var _local3:String;
var _local4:uint;
_local2 = [];
_local3 = _arg1;
_local4 = this.msg_box.maxChars;
while (_local3.length > this.msg_box.maxChars) {
_local4 = _local3.lastIndexOf(" ", _local4);
_local2.push(_local3.slice(0, _local4));
_local3 = _local3.slice((_local4 + 1));
};
if (_local3.length > 0){
_local2.push(_local3);
};
return (_local2);
}
}
}//package code
Section 8
//SoundManager (code.SoundManager)
package code {
import flash.events.*;
import flash.utils.*;
import flash.media.*;
public class SoundManager {
var transitions:Object;
var ambienceName:String;// = "none"
private var channels:Array;
public var game;
var ambienceVol:Number;
var ambienceST:SoundTransform;
public function SoundManager(_arg1:uint=3, _arg2=null){
var _local3:uint;
ambienceName = "none";
super();
this.game = _arg2;
channels = [];
ambienceVol = 0.5;
ambienceST = new SoundTransform(ambienceVol, 0);
_local3 = 0;
while (_local3 < _arg1) {
channels.push(new SoundChannel());
_local3++;
};
}
public function fadeOut(_arg1:Event):void{
if (game.SOUNDOFF){
return;
};
if (channels[0].soundTransform.volume > 0){
ambienceST.volume = (ambienceST.volume - (ambienceVol / game.fade.duration));
channels[0].soundTransform = ambienceST;
} else {
game.removeEventListener(Event.ENTER_FRAME, fadeOut);
channels[0].stop();
ambienceST.volume = 0.5;
};
}
public function playAmbience(_arg1:String):void{
var _local2:Class;
var _local3:Object;
if (game.SOUNDOFF){
return;
};
ambienceName = _arg1;
trace((("SoundManager: Starting ambience '" + ambienceName) + "'."));
_local2 = (getDefinitionByName(("ambience_" + _arg1)) as Class);
_local3 = new (_local2);
channels[0] = _local3.play(0, 9999);
channels[0].soundTransform = ambienceST;
}
public function stopAmbienceNow():void{
ambienceName = "none";
channels[0].stop();
}
public function stopAmbience():void{
if (game.SOUNDOFF){
return;
};
trace((("SoundManager: Stopping ambience '" + ambienceName) + "'."));
ambienceName = "none";
game.addEventListener(Event.ENTER_FRAME, fadeOut);
}
public function playSound(_arg1:String):void{
var _local2:Class;
var _local3:*;
if (game.SOUNDOFF){
return;
};
trace(("SoundManager: Playing sound: " + _arg1));
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new (_local2);
channels[1] = _local3.play();
}
}
}//package code
Section 9
//UIButton (code.UIButton)
package code {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class UIButton extends MovieClip {
public var label:TextField;
public var target;
public var caller;
public var param:Array;
public var func:Function;
public function UIButton(){
caller = this;
super();
}
public function init():void{
enable();
}
public function action():void{
if (((!((func == null))) && (!((target == null))))){
func.apply(target, param);
} else {
trace(("NO function has been defined for " + name));
};
}
public function setAction(_arg1:Function, _arg2, _arg3:Array=null):void{
this.func = _arg1;
this.target = _arg2;
this.param = _arg3;
}
public function enable():void{
addEventListener(MouseEvent.MOUSE_DOWN, mouseHandler);
addEventListener(MouseEvent.MOUSE_UP, mouseHandler);
addEventListener(MouseEvent.MOUSE_OVER, mouseHandler);
addEventListener(MouseEvent.MOUSE_OUT, mouseHandler);
buttonMode = true;
useHandCursor = true;
}
public function goToMenu():void{
}
public function mouseHandler(_arg1:MouseEvent):void{
switch (_arg1.type){
case MouseEvent.MOUSE_DOWN:
gotoAndStop("DOWN");
break;
case MouseEvent.MOUSE_UP:
gotoAndStop("OVER");
if (this.name == "menu_btn"){
_arg1.target.root.replay();
return;
};
action();
break;
case MouseEvent.MOUSE_OVER:
gotoAndStop("OVER");
break;
case MouseEvent.MOUSE_OUT:
gotoAndStop("UP");
break;
};
}
public function disable():void{
removeEventListener(MouseEvent.MOUSE_DOWN, mouseHandler);
removeEventListener(MouseEvent.MOUSE_UP, mouseHandler);
removeEventListener(MouseEvent.MOUSE_OVER, mouseHandler);
removeEventListener(MouseEvent.MOUSE_OUT, mouseHandler);
buttonMode = false;
useHandCursor = false;
}
}
}//package code
Section 10
//ag_button_1 (Crypt_fla.ag_button_1)
package Crypt_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class ag_button_1 extends MovieClip {
public function ag_button_1(){
addFrameScript(0, frame1);
}
public function popHelper(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.armorgames.com"), "_blank");
}
function frame1(){
stop();
this.mouseEnabled = true;
this.useHandCursor = true;
this.buttonMode = true;
addEventListener(MouseEvent.CLICK, popHelper);
}
}
}//package Crypt_fla
Section 11
//ag_intro_mc_103 (Crypt_fla.ag_intro_mc_103)
package Crypt_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class ag_intro_mc_103 extends MovieClip {
public function ag_intro_mc_103(){
addFrameScript(0, frame1, 217, frame218);
}
function frame218(){
stop();
addEventListener(Event.ENTER_FRAME, rPlay);
}
function frame1(){
stop();
}
public function rPlay(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, rPlay);
_arg1.target.root.play();
}
}
}//package Crypt_fla
Section 12
//chip_94 (Crypt_fla.chip_94)
package Crypt_fla {
import flash.display.*;
public dynamic class chip_94 extends MovieClip {
public function chip_94(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Crypt_fla
Section 13
//cover_70 (Crypt_fla.cover_70)
package Crypt_fla {
import flash.display.*;
import flash.events.*;
public dynamic class cover_70 extends MovieClip {
public var accel:Number;
public var origY:Number;
public var origX:Number;
public var ySpeed:Number;
public var maxX:Number;
public var tFrames:uint;
public var maxYSpeed;
public var targetY:Number;
public function cover_70(){
addFrameScript(0, frame1);
}
public function shake(_arg1:Event):void{
var _local2:Number;
_local2 = randomNum(0, maxX);
switch ((Math.random() >= 0.5)){
case true:
x = (((x + -(_local2)))>(origX + maxX)) ? (origX + maxX) : (x + _local2);
y = (y + 1);
break;
case false:
x = (((x - _local2))<(origX - maxX)) ? (origX - maxX) : (x - _local2);
y = (y - 1);
break;
};
y = (y - ySpeed);
ySpeed = (((ySpeed + accel))>maxYSpeed) ? maxYSpeed : (ySpeed + accel);
}
function frame1(){
stop();
origX = x;
maxX = 3.5;
origY = y;
targetY = -376.4;
tFrames = 120;
ySpeed = 0.5;
maxYSpeed = 6;
accel = 0.042;
}
public function randomNum(_arg1:int, _arg2:int):Number{
var _local3:Number;
var _local4:Number;
_local3 = (Math.floor((Math.random() * ((_arg2 + 1) - _arg1))) + _arg1);
_local4 = Math.random();
_local3 = (((_local4 + _local3) > maxX)) ? maxX : (_local4 + _local3);
return (_local3);
}
}
}//package Crypt_fla
Section 14
//doorEND_68 (Crypt_fla.doorEND_68)
package Crypt_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class doorEND_68 extends MovieClip {
public var menu_btn:defButton;
public var rock:MovieClip;
public function doorEND_68(){
addFrameScript(0, frame1, 19, frame20, 179, frame180, 240, frame241);
}
function frame180(){
menu_btn.label.text = "MENU";
}
function frame1(){
stop();
}
function frame20(){
rock.addEventListener(Event.ENTER_FRAME, rock.shake);
}
function frame241(){
menu_btn.enable();
stop();
}
}
}//package Crypt_fla
Section 15
//gems_crypt_75 (Crypt_fla.gems_crypt_75)
package Crypt_fla {
import flash.display.*;
public dynamic class gems_crypt_75 extends MovieClip {
public function gems_crypt_75(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Crypt_fla
Section 16
//help_22 (Crypt_fla.help_22)
package Crypt_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class help_22 extends MovieClip {
public function help_22(){
addFrameScript(0, frame1);
}
public function popHelper(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://armorgames.com/guide/Crypt-Keeper"), "_blank");
}
function frame1(){
stop();
this.mouseEnabled = true;
this.useHandCursor = true;
this.buttonMode = true;
addEventListener(MouseEvent.CLICK, popHelper);
}
}
}//package Crypt_fla
Section 17
//login_window_98 (Crypt_fla.login_window_98)
package Crypt_fla {
import flash.display.*;
import flash.text.*;
public dynamic class login_window_98 extends MovieClip {
public var pass_txt:TextField;
public var login_txt:TextField;
public var login_info:TextField;
}
}//package Crypt_fla
Section 18
//MainTimeline (Crypt_fla.MainTimeline)
package Crypt_fla {
import flash.display.*;
import flash.events.*;
import code.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var loaderBar:Sprite;
public var loadText:TextField;
public var armor:MovieClip;
public var percent:uint;
public var armorFader:MovieClip;
public var menuScreen:MovieClip;
public var game:Game;
public function MainTimeline(){
addFrameScript(0, frame1, 9, frame10, 10, frame11, 15, frame16, 31, frame32, 32, frame33);
}
public function checkLoad(_arg1:Event){
if (this.loaderInfo.bytesLoaded < this.loaderInfo.bytesTotal){
percent = uint(Math.round(((this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal) * 100)));
loaderBar.graphics.clear();
loaderBar.graphics.lineStyle(2, 0xFFFFFF);
loaderBar.graphics.drawRect(250, 180, 100, 16);
loaderBar.graphics.beginFill(0xFFFFFF);
loaderBar.graphics.drawRect(250, 180, percent, 16);
loaderBar.graphics.endFill();
} else {
if (this.loaderInfo.bytesLoaded >= this.loaderInfo.bytesTotal){
removeChild(loaderBar);
removeChild(loadText);
loadText = null;
loaderBar = null;
removeEventListener(Event.ENTER_FRAME, checkLoad);
gotoAndStop("INTRO");
};
};
}
function frame10(){
stop();
trace(currentLabel);
armorFader.setFade("out", 10);
}
function frame16(){
menuScreen.start_btn.label.text = "START";
}
function frame1(){
stop();
stage.showDefaultContextMenu = false;
percent = 0;
loaderBar = new Sprite();
loaderBar.cacheAsBitmap = true;
addChild(loaderBar);
loadText = new TextField();
loadText.text = "Loading...";
loadText.textColor = 0xFFFFFF;
loadText.selectable = false;
loadText.x = 275;
loadText.y = 160;
addChild(loadText);
addEventListener(Event.ENTER_FRAME, checkLoad);
}
public function startGame(_arg1:Event):void{
if (menuScreen.currentFrame == 51){
removeEventListener(Event.ENTER_FRAME, startGame);
gotoAndStop("GAME");
};
}
function frame11(){
stop();
armor.gotoAndPlay(2);
}
function frame33(){
stop();
stop();
game = new Game();
addChild(game);
game.init();
}
function frame32(){
stop();
menuScreen.start_btn.setAction(pressStart, this);
menuScreen.start_btn.enable();
}
public function pressStart():void{
trace(("Starting Game " + this.name));
addEventListener(Event.ENTER_FRAME, startGame);
menuScreen.play();
}
public function replay():void{
trace("Re-Initializing Game");
removeChild(game);
gotoAndPlay("FADE");
}
}
}//package Crypt_fla
Section 19
//nFader_106 (Crypt_fla.nFader_106)
package Crypt_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class nFader_106 extends MovieClip {
public var speed:Number;
public function nFader_106(){
addFrameScript(0, frame1);
}
public function setFade(_arg1:String, _arg2:uint):void{
speed = (1 / _arg2);
trace(((("Setting Fade " + speed) + " ") + _arg1));
switch (_arg1){
case "in":
alpha = 0;
addEventListener(Event.ENTER_FRAME, fadeIn);
break;
case "out":
alpha = 1;
addEventListener(Event.ENTER_FRAME, fadeOut);
break;
};
}
public function fadeOut(_arg1:Event):void{
if (alpha <= 0){
removeEventListener(Event.ENTER_FRAME, fadeOut);
_arg1.target.root.play();
} else {
alpha = (alpha - speed);
};
}
function frame1(){
stop();
}
public function fadeIn(_arg1:Event=null):void{
if (alpha >= 1){
removeEventListener(Event.ENTER_FRAME, fadeIn);
_arg1.target.root.play();
} else {
alpha = (alpha - speed);
};
}
}
}//package Crypt_fla
Section 20
//pass_info_25 (Crypt_fla.pass_info_25)
package Crypt_fla {
import flash.display.*;
import flash.text.*;
public dynamic class pass_info_25 extends MovieClip {
public var pass:TextField;
public var login:TextField;
}
}//package Crypt_fla
Section 21
//roster_window_99 (Crypt_fla.roster_window_99)
package Crypt_fla {
import fl.controls.*;
import flash.display.*;
import fl.data.*;
import flash.text.*;
public dynamic class roster_window_99 extends MovieClip {
public var j2;
public var collObj2:DataProvider;
public var info_txt:TextField;
public var lname_txt:TextField;
public var info_area:TextArea;
public var collProp2:Object;
public var name_txt:TextField;
public var itemObj2:SimpleCollectionItem;
public var roster_list:List;
public var collProps2:Array;
public var find_btn:defButton;
public var i2:int;
public function roster_window_99(){
__setProp_roster_list_roster_window_Input_1();
__setProp_info_area_roster_window_Input_1();
}
function __setProp_roster_list_roster_window_Input_1(){
try {
roster_list["componentInspectorSetting"] = true;
} catch(e:Error) {
};
roster_list.allowMultipleSelection = false;
collObj2 = new DataProvider();
collProps2 = [];
i2 = 0;
while (i2 < collProps2.length) {
itemObj2 = new SimpleCollectionItem();
collProp2 = collProps2[i2];
for (j2 in collProp2) {
itemObj2[j2] = collProp2[j2];
};
collObj2.addItem(itemObj2);
i2++;
};
roster_list.dataProvider = collObj2;
roster_list.enabled = true;
roster_list.horizontalLineScrollSize = 4;
roster_list.horizontalPageScrollSize = 0;
roster_list.horizontalScrollPolicy = "off";
roster_list.verticalLineScrollSize = 4;
roster_list.verticalPageScrollSize = 0;
roster_list.verticalScrollPolicy = "auto";
roster_list.visible = true;
try {
roster_list["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_info_area_roster_window_Input_1(){
try {
info_area["componentInspectorSetting"] = true;
} catch(e:Error) {
};
info_area.condenseWhite = false;
info_area.editable = false;
info_area.enabled = true;
info_area.horizontalScrollPolicy = "auto";
info_area.htmlText = "";
info_area.maxChars = 0;
info_area.restrict = "";
info_area.text = "";
info_area.verticalScrollPolicy = "auto";
info_area.visible = true;
info_area.wordWrap = true;
try {
info_area["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package Crypt_fla
Section 22
//scratch_3 (Crypt_fla.scratch_3)
package Crypt_fla {
import flash.display.*;
public dynamic class scratch_3 extends MovieClip {
public function scratch_3(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Crypt_fla
Section 23
//title_108 (Crypt_fla.title_108)
package Crypt_fla {
import flash.display.*;
public dynamic class title_108 extends MovieClip {
public var start_btn:defButton;
public function title_108(){
addFrameScript(0, frame1, 50, frame51);
}
function frame1(){
stop();
}
function frame51(){
stop();
}
}
}//package Crypt_fla
Section 24
//BaseScrollPane (fl.containers.BaseScrollPane)
package fl.containers {
import fl.core.*;
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import fl.events.*;
public class BaseScrollPane extends UIComponent {
protected var defaultLineScrollSize:Number;// = 4
protected var _maxHorizontalScrollPosition:Number;// = 0
protected var vScrollBar:Boolean;
protected var disabledOverlay:Shape;
protected var hScrollBar:Boolean;
protected var availableWidth:Number;
protected var _verticalPageScrollSize:Number;// = 0
protected var vOffset:Number;// = 0
protected var _verticalScrollBar:ScrollBar;
protected var useFixedHorizontalScrolling:Boolean;// = false
protected var contentWidth:Number;// = 0
protected var contentHeight:Number;// = 0
protected var _horizontalPageScrollSize:Number;// = 0
protected var background:DisplayObject;
protected var _useBitmpScrolling:Boolean;// = false
protected var contentPadding:Number;// = 0
protected var availableHeight:Number;
protected var _horizontalScrollBar:ScrollBar;
protected var contentScrollRect:Rectangle;
protected var _horizontalScrollPolicy:String;
protected var _verticalScrollPolicy:String;
protected static const SCROLL_BAR_STYLES:Object = {upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {repeatDelay:500, repeatInterval:35, skin:"ScrollPane_upSkin", contentPadding:0, disabledAlpha:0.5};
public function BaseScrollPane(){
contentWidth = 0;
contentHeight = 0;
contentPadding = 0;
vOffset = 0;
_maxHorizontalScrollPosition = 0;
_horizontalPageScrollSize = 0;
_verticalPageScrollSize = 0;
defaultLineScrollSize = 4;
useFixedHorizontalScrolling = false;
_useBitmpScrolling = false;
super();
}
protected function handleWheel(_arg1:MouseEvent):void{
if (((((!(enabled)) || (!(_verticalScrollBar.visible)))) || ((contentHeight <= availableHeight)))){
return;
};
_verticalScrollBar.scrollPosition = (_verticalScrollBar.scrollPosition - (_arg1.delta * verticalLineScrollSize));
setVerticalScrollPosition(_verticalScrollBar.scrollPosition);
dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _arg1.delta, horizontalScrollPosition));
}
public function get verticalScrollPosition():Number{
return (_verticalScrollBar.scrollPosition);
}
protected function drawDisabledOverlay():void{
if (enabled){
if (contains(disabledOverlay)){
removeChild(disabledOverlay);
};
} else {
disabledOverlay.x = (disabledOverlay.y = contentPadding);
disabledOverlay.width = availableWidth;
disabledOverlay.height = availableHeight;
disabledOverlay.alpha = (getStyleValue("disabledAlpha") as Number);
addChild(disabledOverlay);
};
}
public function set verticalScrollPosition(_arg1:Number):void{
drawNow();
_verticalScrollBar.scrollPosition = _arg1;
setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false);
}
protected function setContentSize(_arg1:Number, _arg2:Number):void{
if ((((((contentWidth == _arg1)) || (useFixedHorizontalScrolling))) && ((contentHeight == _arg2)))){
return;
};
contentWidth = _arg1;
contentHeight = _arg2;
invalidate(InvalidationType.SIZE);
}
public function get horizontalScrollPosition():Number{
return (_horizontalScrollBar.scrollPosition);
}
public function get horizontalScrollBar():ScrollBar{
return (_horizontalScrollBar);
}
override public function set enabled(_arg1:Boolean):void{
if (enabled == _arg1){
return;
};
_verticalScrollBar.enabled = _arg1;
_horizontalScrollBar.enabled = _arg1;
super.enabled = _arg1;
}
public function get verticalLineScrollSize():Number{
return (_verticalScrollBar.lineScrollSize);
}
public function get horizontalScrollPolicy():String{
return (_horizontalScrollPolicy);
}
protected function calculateAvailableSize():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = ScrollBar.WIDTH;
_local2 = (contentPadding = Number(getStyleValue("contentPadding")));
_local3 = ((height - (2 * _local2)) - vOffset);
vScrollBar = (((_verticalScrollPolicy == ScrollPolicy.ON)) || ((((_verticalScrollPolicy == ScrollPolicy.AUTO)) && ((contentHeight > _local3)))));
_local4 = ((width - (vScrollBar) ? _local1 : 0) - (2 * _local2));
_local5 = (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - _local4);
hScrollBar = (((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_local5 > 0)))));
if (hScrollBar){
_local3 = (_local3 - _local1);
};
if (((((((hScrollBar) && (!(vScrollBar)))) && ((_verticalScrollPolicy == ScrollPolicy.AUTO)))) && ((contentHeight > _local3)))){
vScrollBar = true;
_local4 = (_local4 - _local1);
};
availableHeight = (_local3 + vOffset);
availableWidth = _local4;
}
public function get maxVerticalScrollPosition():Number{
drawNow();
return (Math.max(0, (contentHeight - availableHeight)));
}
public function set horizontalScrollPosition(_arg1:Number):void{
drawNow();
_horizontalScrollBar.scrollPosition = _arg1;
setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false);
}
public function get horizontalLineScrollSize():Number{
return (_horizontalScrollBar.lineScrollSize);
}
public function set verticalPageScrollSize(_arg1:Number):void{
_verticalPageScrollSize = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get verticalScrollPolicy():String{
return (_verticalScrollPolicy);
}
protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
}
public function get useBitmapScrolling():Boolean{
return (_useBitmpScrolling);
}
protected function handleScroll(_arg1:ScrollEvent):void{
if (_arg1.target == _verticalScrollBar){
setVerticalScrollPosition(_arg1.position);
} else {
setHorizontalScrollPosition(_arg1.position);
};
}
public function set verticalLineScrollSize(_arg1:Number):void{
_verticalScrollBar.lineScrollSize = _arg1;
}
public function get verticalScrollBar():ScrollBar{
return (_verticalScrollBar);
}
protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
}
public function set horizontalPageScrollSize(_arg1:Number):void{
_horizontalPageScrollSize = _arg1;
invalidate(InvalidationType.SIZE);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES)){
setStyles();
drawBackground();
if (contentPadding != getStyleValue("contentPadding")){
invalidate(InvalidationType.SIZE, false);
};
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STATE)){
drawLayout();
};
updateChildren();
super.draw();
}
public function set horizontalScrollPolicy(_arg1:String):void{
_horizontalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
override protected function configUI():void{
var _local1:Graphics;
super.configUI();
contentScrollRect = new Rectangle(0, 0, 85, 85);
_verticalScrollBar = new ScrollBar();
_verticalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
_verticalScrollBar.visible = false;
_verticalScrollBar.lineScrollSize = defaultLineScrollSize;
addChild(_verticalScrollBar);
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
_horizontalScrollBar = new ScrollBar();
_horizontalScrollBar.direction = ScrollBarDirection.HORIZONTAL;
_horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
_horizontalScrollBar.visible = false;
_horizontalScrollBar.lineScrollSize = defaultLineScrollSize;
addChild(_horizontalScrollBar);
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
disabledOverlay = new Shape();
_local1 = disabledOverlay.graphics;
_local1.beginFill(0xFFFFFF);
_local1.drawRect(0, 0, width, height);
_local1.endFill();
addEventListener(MouseEvent.MOUSE_WHEEL, handleWheel, false, 0, true);
}
protected function calculateContentWidth():void{
}
public function get verticalPageScrollSize():Number{
if (isNaN(availableHeight)){
drawNow();
};
return (((((_verticalPageScrollSize == 0)) && (!(isNaN(availableHeight))))) ? availableHeight : _verticalPageScrollSize);
}
protected function drawLayout():void{
calculateAvailableSize();
calculateContentWidth();
background.width = width;
background.height = height;
if (vScrollBar){
_verticalScrollBar.visible = true;
_verticalScrollBar.x = ((width - ScrollBar.WIDTH) - contentPadding);
_verticalScrollBar.y = contentPadding;
_verticalScrollBar.height = availableHeight;
} else {
_verticalScrollBar.visible = false;
};
_verticalScrollBar.setScrollProperties(availableHeight, 0, (contentHeight - availableHeight), verticalPageScrollSize);
setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false);
if (hScrollBar){
_horizontalScrollBar.visible = true;
_horizontalScrollBar.x = contentPadding;
_horizontalScrollBar.y = ((height - ScrollBar.WIDTH) - contentPadding);
_horizontalScrollBar.width = availableWidth;
} else {
_horizontalScrollBar.visible = false;
};
_horizontalScrollBar.setScrollProperties(availableWidth, 0, (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - availableWidth), horizontalPageScrollSize);
setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false);
drawDisabledOverlay();
}
protected function drawBackground():void{
var _local1:DisplayObject;
_local1 = background;
background = getDisplayObjectInstance(getStyleValue("skin"));
background.width = width;
background.height = height;
addChildAt(background, 0);
if (((!((_local1 == null))) && (!((_local1 == background))))){
removeChild(_local1);
};
}
public function set horizontalLineScrollSize(_arg1:Number):void{
_horizontalScrollBar.lineScrollSize = _arg1;
}
public function get horizontalPageScrollSize():Number{
if (isNaN(availableWidth)){
drawNow();
};
return (((((_horizontalPageScrollSize == 0)) && (!(isNaN(availableWidth))))) ? availableWidth : _horizontalPageScrollSize);
}
public function get maxHorizontalScrollPosition():Number{
drawNow();
return (Math.max(0, (contentWidth - availableWidth)));
}
protected function setStyles():void{
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
}
protected function updateChildren():void{
_verticalScrollBar.enabled = (_horizontalScrollBar.enabled = enabled);
_verticalScrollBar.drawNow();
_horizontalScrollBar.drawNow();
}
public function set verticalScrollPolicy(_arg1:String):void{
_verticalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set useBitmapScrolling(_arg1:Boolean):void{
_useBitmpScrolling = _arg1;
invalidate(InvalidationType.STATE);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, ScrollBar.getStyleDefinition()));
}
}
}//package fl.containers
Section 25
//UILoader (fl.containers.UILoader)
package fl.containers {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.events.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
public class UILoader extends UIComponent {
protected var loader:Loader;
protected var _autoLoad:Boolean;// = true
protected var _source:Object;
protected var contentClip:Sprite;
protected var _maintainAspectRatio:Boolean;// = true
protected var contentInited:Boolean;// = false
protected var _scaleContent:Boolean;// = true
private static var defaultStyles:Object = {};
public function UILoader(){
_scaleContent = true;
_autoLoad = true;
contentInited = false;
_maintainAspectRatio = true;
super();
}
public function get maintainAspectRatio():Boolean{
return (_maintainAspectRatio);
}
public function set maintainAspectRatio(_arg1:Boolean):void{
_maintainAspectRatio = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get source():Object{
return (_source);
}
protected function _unload(_arg1:Boolean=false):void{
var throwError = _arg1;
if (loader != null){
clearLoadEvents();
contentClip.removeChild(loader);
try {
loader.close();
} catch(e:Error) {
};
try {
loader.unload();
} catch(e) {
if (throwError){
throw (e);
};
};
loader = null;
return;
};
contentInited = false;
if (contentClip.numChildren){
contentClip.removeChildAt(0);
};
}
public function get bytesLoaded():uint{
return (((((loader == null)) || ((loader.contentLoaderInfo == null)))) ? 0 : loader.contentLoaderInfo.bytesLoaded);
}
public function set source(_arg1:Object):void{
if (_arg1 == ""){
return;
};
_source = _arg1;
_unload();
if (((_autoLoad) && (!((_source == null))))){
load();
};
}
public function set autoLoad(_arg1:Boolean):void{
_autoLoad = _arg1;
if (((((((_autoLoad) && ((loader == null)))) && (!((_source == null))))) && (!((_source == ""))))){
load();
};
}
public function get content():DisplayObject{
if (loader != null){
return (loader.content);
};
if (contentClip.numChildren){
return (contentClip.getChildAt(0));
};
return (null);
}
public function get percentLoaded():Number{
return (((bytesTotal)<=0) ? 0 : ((bytesLoaded / bytesTotal) * 100));
}
protected function handleError(_arg1:Event):void{
passEvent(_arg1);
clearLoadEvents();
loader.contentLoaderInfo.removeEventListener(Event.INIT, handleInit);
}
public function load(_arg1:URLRequest=null, _arg2:LoaderContext=null):void{
var _local3:DisplayObject;
_unload();
if ((((((_arg1 == null)) || ((_arg1.url == null)))) && ((((_source == null)) || ((_source == "")))))){
return;
};
_local3 = getDisplayObjectInstance(source);
if (_local3 != null){
contentClip.addChild(_local3);
contentInited = true;
invalidate(InvalidationType.SIZE);
return;
};
if (_arg1 == null){
_arg1 = new URLRequest(_source.toString());
};
if (_arg2 == null){
_arg2 = new LoaderContext(false, ApplicationDomain.currentDomain);
};
initLoader();
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleError, false, 0, true);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleError, false, 0, true);
loader.contentLoaderInfo.addEventListener(Event.OPEN, passEvent, false, 0, true);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, passEvent, false, 0, true);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleComplete, false, 0, true);
loader.contentLoaderInfo.addEventListener(Event.INIT, handleInit, false, 0, true);
loader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, passEvent, false, 0, true);
loader.load(_arg1, _arg2);
}
public function unload():void{
_source = null;
_unload(true);
}
protected function passEvent(_arg1:Event):void{
dispatchEvent(_arg1);
}
public function loadBytes(_arg1:ByteArray, _arg2:LoaderContext=null):void{
var bytes = _arg1;
var context = _arg2;
_unload();
initLoader();
try {
loader.loadBytes(bytes, context);
} catch(error) {
throw (error);
};
}
public function get autoLoad():Boolean{
return (_autoLoad);
}
protected function sizeContent(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local6 = _arg4;
_local7 = _arg5;
if (_maintainAspectRatio){
_local8 = (_arg4 / _arg5);
_local9 = (_arg2 / _arg3);
if (_local8 < _local9){
_local7 = (_local6 / _local9);
} else {
_local6 = (_local7 * _local9);
};
};
_arg1.width = _local6;
_arg1.height = _local7;
_arg1.x = ((_arg4 / 2) - (_local6 / 2));
_arg1.y = ((_arg5 / 2) - (_local7 / 2));
}
protected function initLoader():void{
loader = new Loader();
contentClip.addChild(loader);
}
override protected function draw():void{
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
override protected function configUI():void{
super.configUI();
contentClip = new Sprite();
addChild(contentClip);
}
protected function handleInit(_arg1:Event):void{
loader.contentLoaderInfo.removeEventListener(Event.INIT, handleInit);
contentInited = true;
passEvent(_arg1);
invalidate(InvalidationType.SIZE);
}
protected function handleComplete(_arg1:Event):void{
clearLoadEvents();
passEvent(_arg1);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
if (((!(_scaleContent)) && ((_width > 0)))){
return;
};
super.setSize(_arg1, _arg2);
}
protected function drawLayout():void{
var _local1:Boolean;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:LoaderInfo;
if (!contentInited){
return;
};
_local1 = false;
if (loader){
_local6 = loader.contentLoaderInfo;
_local2 = _local6.width;
_local3 = _local6.height;
} else {
_local2 = contentClip.width;
_local3 = contentClip.height;
};
_local4 = _width;
_local5 = _height;
if (!_scaleContent){
_width = contentClip.width;
_height = contentClip.height;
} else {
sizeContent(contentClip, _local2, _local3, _width, _height);
};
if (((!((_local4 == _width))) || (!((_local5 == _height))))){
dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, true));
};
}
public function get bytesTotal():uint{
return (((((loader == null)) || ((loader.contentLoaderInfo == null)))) ? 0 : loader.contentLoaderInfo.bytesTotal);
}
public function set scaleContent(_arg1:Boolean):void{
if (_scaleContent == _arg1){
return;
};
_scaleContent = _arg1;
invalidate(InvalidationType.SIZE);
}
protected function clearLoadEvents():void{
loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleError);
loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, handleError);
loader.contentLoaderInfo.removeEventListener(Event.OPEN, passEvent);
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, passEvent);
loader.contentLoaderInfo.removeEventListener(HTTPStatusEvent.HTTP_STATUS, passEvent);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleComplete);
}
public function get scaleContent():Boolean{
return (_scaleContent);
}
public function close():void{
try {
loader.close();
} catch(error) {
throw (error);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.containers
Section 26
//CellRenderer (fl.controls.listClasses.CellRenderer)
package fl.controls.listClasses {
import fl.controls.*;
import flash.events.*;
public class CellRenderer extends LabelButton implements ICellRenderer {
protected var _data:Object;
protected var _listData:ListData;
private static var defaultStyles:Object = {upSkin:"CellRenderer_upSkin", downSkin:"CellRenderer_downSkin", overSkin:"CellRenderer_overSkin", disabledSkin:"CellRenderer_disabledSkin", selectedDisabledSkin:"CellRenderer_selectedDisabledSkin", selectedUpSkin:"CellRenderer_selectedUpSkin", selectedDownSkin:"CellRenderer_selectedDownSkin", selectedOverSkin:"CellRenderer_selectedOverSkin", textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5};
public function CellRenderer():void{
toggle = true;
focusEnabled = false;
}
override protected function toggleSelected(_arg1:MouseEvent):void{
}
override public function get selected():Boolean{
return (super.selected);
}
public function set listData(_arg1:ListData):void{
_listData = _arg1;
label = _listData.label;
setStyle("icon", _listData.icon);
}
override public function set selected(_arg1:Boolean):void{
super.selected = _arg1;
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
public function get listData():ListData{
return (_listData);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
super.setSize(_arg1, _arg2);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = 0;
if (icon != null){
icon.x = _local1;
icon.y = Math.round(((height - icon.height) >> 1));
_local2 = (icon.width + _local1);
};
if (label.length > 0){
textField.visible = true;
_local3 = Math.max(0, ((width - _local2) - (_local1 * 2)));
textField.width = _local3;
textField.height = (textField.textHeight + 4);
textField.x = (_local2 + _local1);
textField.y = Math.round(((height - textField.height) >> 1));
} else {
textField.visible = false;
};
background.width = width;
background.height = height;
}
public function get data():Object{
return (_data);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls.listClasses
Section 27
//ICellRenderer (fl.controls.listClasses.ICellRenderer)
package fl.controls.listClasses {
public interface ICellRenderer {
function setSize(_arg1:Number, _arg2:Number):void;
function get listData():ListData;
function get data():Object;
function setMouseState(_arg1:String):void;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function set data(_arg1:Object):void;
function set selected(_arg1:Boolean):void;
function set listData(_arg1:ListData):void;
function get selected():Boolean;
}
}//package fl.controls.listClasses
Section 28
//ImageCell (fl.controls.listClasses.ImageCell)
package fl.controls.listClasses {
import flash.display.*;
import flash.events.*;
import fl.containers.*;
public class ImageCell extends CellRenderer implements ICellRenderer {
protected var loader:UILoader;
protected var textOverlay:Shape;
private static var defaultStyles:Object = {imagePadding:1, textOverlayAlpha:0.7};
public function ImageCell(){
loader = new UILoader();
loader.addEventListener(IOErrorEvent.IO_ERROR, handleErrorEvent, false, 0, true);
loader.autoLoad = true;
loader.scaleContent = true;
addChild(loader);
}
public function get source():Object{
return (loader.source);
}
public function set source(_arg1:Object):void{
loader.source = _arg1;
}
override public function set listData(_arg1:ListData):void{
var _local2:Object;
_listData = _arg1;
label = _listData.label;
_local2 = (_listData as TileListData).source;
if (source != _local2){
source = _local2;
};
}
override protected function draw():void{
super.draw();
}
override protected function configUI():void{
var _local1:Graphics;
super.configUI();
textOverlay = new Shape();
_local1 = textOverlay.graphics;
_local1.beginFill(0xFFFFFF);
_local1.drawRect(0, 0, 100, 100);
_local1.endFill();
}
override public function get listData():ListData{
return (_listData);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = (getStyleValue("imagePadding") as Number);
loader.move(_local1, _local1);
_local2 = (width - (_local1 * 2));
_local3 = (height - (_local1 * 2));
if (((!((loader.width == _local2))) && (!((loader.height == _local3))))){
loader.setSize(_local2, _local3);
};
loader.drawNow();
if ((((_label == "")) || ((_label == null)))){
if (contains(textField)){
removeChild(textField);
};
if (contains(textOverlay)){
removeChild(textOverlay);
};
} else {
_local4 = (getStyleValue("textPadding") as Number);
textField.width = Math.min((width - (_local4 * 2)), (textField.textWidth + 5));
textField.height = (textField.textHeight + 5);
textField.x = Math.max(_local4, ((width / 2) - (textField.width / 2)));
textField.y = ((height - textField.height) - _local4);
textOverlay.x = _local1;
textOverlay.height = (textField.height + (_local4 * 2));
textOverlay.y = ((height - textOverlay.height) - _local1);
textOverlay.width = (width - (_local1 * 2));
textOverlay.alpha = (getStyleValue("textOverlayAlpha") as Number);
addChild(textOverlay);
addChild(textField);
};
background.width = width;
background.height = height;
}
protected function handleErrorEvent(_arg1:IOErrorEvent):void{
dispatchEvent(_arg1);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, CellRenderer.getStyleDefinition()));
}
}
}//package fl.controls.listClasses
Section 29
//ListData (fl.controls.listClasses.ListData)
package fl.controls.listClasses {
import fl.core.*;
public class ListData {
protected var _index:uint;
protected var _owner:UIComponent;
protected var _label:String;
protected var _icon:Object;// = null
protected var _row:uint;
protected var _column:uint;
public function ListData(_arg1:String, _arg2:Object, _arg3:UIComponent, _arg4:uint, _arg5:uint, _arg6:uint=0){
_icon = null;
super();
_label = _arg1;
_icon = _arg2;
_owner = _arg3;
_index = _arg4;
_row = _arg5;
_column = _arg6;
}
public function get owner():UIComponent{
return (_owner);
}
public function get label():String{
return (_label);
}
public function get row():uint{
return (_row);
}
public function get index():uint{
return (_index);
}
public function get icon():Object{
return (_icon);
}
public function get column():uint{
return (_column);
}
}
}//package fl.controls.listClasses
Section 30
//TileListData (fl.controls.listClasses.TileListData)
package fl.controls.listClasses {
import fl.core.*;
public class TileListData extends ListData {
protected var _source:Object;
public function TileListData(_arg1:String, _arg2:Object, _arg3:Object, _arg4:UIComponent, _arg5:uint, _arg6:uint, _arg7:uint=0){
super(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7);
_source = _arg3;
}
public function get source():Object{
return (_source);
}
}
}//package fl.controls.listClasses
Section 31
//BaseButton (fl.controls.BaseButton)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.events.*;
import flash.utils.*;
public class BaseButton extends UIComponent {
protected var _selected:Boolean;// = false
private var unlockedMouseState:String;
protected var pressTimer:Timer;
protected var mouseState:String;
protected var background:DisplayObject;
private var _mouseStateLocked:Boolean;// = false
protected var _autoRepeat:Boolean;// = false
private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35};
public function BaseButton(){
_selected = false;
_autoRepeat = false;
_mouseStateLocked = false;
super();
buttonMode = true;
mouseChildren = false;
useHandCursor = false;
setupMouseEvents();
setMouseState("up");
pressTimer = new Timer(1, 0);
pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true);
}
protected function endPress():void{
pressTimer.reset();
}
public function set mouseStateLocked(_arg1:Boolean):void{
_mouseStateLocked = _arg1;
if (_arg1 == false){
setMouseState(unlockedMouseState);
} else {
unlockedMouseState = mouseState;
};
}
public function get autoRepeat():Boolean{
return (_autoRepeat);
}
public function set autoRepeat(_arg1:Boolean):void{
_autoRepeat = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseEnabled = _arg1;
}
public function get selected():Boolean{
return (_selected);
}
protected function mouseEventHandler(_arg1:MouseEvent):void{
if (_arg1.type == MouseEvent.MOUSE_DOWN){
setMouseState("down");
startPress();
} else {
if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){
setMouseState("over");
endPress();
} else {
if (_arg1.type == MouseEvent.ROLL_OUT){
setMouseState("up");
endPress();
};
};
};
}
public function setMouseState(_arg1:String):void{
if (_mouseStateLocked){
unlockedMouseState = _arg1;
return;
};
if (mouseState == _arg1){
return;
};
mouseState = _arg1;
invalidate(InvalidationType.STATE);
}
protected function startPress():void{
if (_autoRepeat){
pressTimer.delay = Number(getStyleValue("repeatDelay"));
pressTimer.start();
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
protected function buttonDown(_arg1:TimerEvent):void{
if (!_autoRepeat){
endPress();
return;
};
if (pressTimer.currentCount == 1){
pressTimer.delay = Number(getStyleValue("repeatInterval"));
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
public function set selected(_arg1:Boolean):void{
if (_selected == _arg1){
return;
};
_selected = _arg1;
invalidate(InvalidationType.STATE);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function setupMouseEvents():void{
addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true);
}
protected function drawLayout():void{
background.width = width;
background.height = height;
}
protected function drawBackground():void{
var _local1:String;
var _local2:DisplayObject;
_local1 = (enabled) ? mouseState : "disabled";
if (selected){
_local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1));
};
_local1 = (_local1 + "Skin");
_local2 = background;
background = getDisplayObjectInstance(getStyleValue(_local1));
addChildAt(background, 0);
if (((!((_local2 == null))) && (!((_local2 == background))))){
removeChild(_local2);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 32
//Button (fl.controls.Button)
package fl.controls {
import fl.core.*;
import flash.display.*;
import fl.managers.*;
public class Button extends LabelButton implements IFocusManagerComponent {
protected var emphasizedBorder:DisplayObject;
protected var _emphasized:Boolean;// = false
private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2};
public static var createAccessibilityImplementation:Function;
public function Button(){
_emphasized = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
var _local3:*;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("emphasizedPadding"));
if ((((_local2 < 0)) || (!(_emphasized)))){
_local2 = 0;
};
_local3 = getStyleValue("focusRectPadding");
_local3 = ((_local3)==null) ? 2 : _local3;
_local3 = (_local3 + _local2);
uiFocusRect.x = -(_local3);
uiFocusRect.y = -(_local3);
uiFocusRect.width = (width + (_local3 * 2));
uiFocusRect.height = (height + (_local3 * 2));
};
}
public function set emphasized(_arg1:Boolean):void{
_emphasized = _arg1;
invalidate(InvalidationType.STYLES);
}
override protected function draw():void{
if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){
drawEmphasized();
};
super.draw();
if (emphasizedBorder != null){
setChildIndex(emphasizedBorder, (numChildren - 1));
};
}
public function get emphasized():Boolean{
return (_emphasized);
}
override protected function initializeAccessibility():void{
if (Button.createAccessibilityImplementation != null){
Button.createAccessibilityImplementation(this);
};
}
protected function drawEmphasized():void{
var _local1:Object;
var _local2:Number;
if (emphasizedBorder != null){
removeChild(emphasizedBorder);
};
emphasizedBorder = null;
if (!_emphasized){
return;
};
_local1 = getStyleValue("emphasizedSkin");
if (_local1 != null){
emphasizedBorder = getDisplayObjectInstance(_local1);
};
if (emphasizedBorder != null){
addChildAt(emphasizedBorder, 0);
_local2 = Number(getStyleValue("emphasizedPadding"));
emphasizedBorder.x = (emphasizedBorder.y = -(_local2));
emphasizedBorder.width = (width + (_local2 * 2));
emphasizedBorder.height = (height + (_local2 * 2));
};
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles));
}
}
}//package fl.controls
Section 33
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement)
package fl.controls {
public class ButtonLabelPlacement {
public static const TOP:String = "top";
public static const LEFT:String = "left";
public static const BOTTOM:String = "bottom";
public static const RIGHT:String = "right";
}
}//package fl.controls
Section 34
//LabelButton (fl.controls.LabelButton)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class LabelButton extends BaseButton implements IFocusManagerComponent {
protected var _labelPlacement:String;// = "right"
protected var _toggle:Boolean;// = false
protected var icon:DisplayObject;
protected var oldMouseState:String;
protected var mode:String;// = "center"
public var textField:TextField;
protected var _label:String;// = "Label"
private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function LabelButton(){
_labelPlacement = ButtonLabelPlacement.RIGHT;
_toggle = false;
_label = "Label";
mode = "center";
super();
}
protected function toggleSelected(_arg1:MouseEvent):void{
selected = !(selected);
dispatchEvent(new Event(Event.CHANGE, true));
}
public function get labelPlacement():String{
return (_labelPlacement);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
if (oldMouseState == null){
oldMouseState = mouseState;
};
setMouseState("down");
startPress();
};
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
setMouseState(oldMouseState);
oldMouseState = null;
endPress();
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
};
}
override public function get selected():Boolean{
return ((_toggle) ? _selected : false);
}
public function set labelPlacement(_arg1:String):void{
_labelPlacement = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set toggle(_arg1:Boolean):void{
if (((!(_arg1)) && (super.selected))){
selected = false;
};
_toggle = _arg1;
if (_toggle){
addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true);
} else {
removeEventListener(MouseEvent.CLICK, toggleSelected);
};
invalidate(InvalidationType.STATE);
}
public function get label():String{
return (_label);
}
override public function set selected(_arg1:Boolean):void{
_selected = _arg1;
if (_toggle){
invalidate(InvalidationType.STATE);
};
}
override protected function draw():void{
if (textField.text != _label){
label = _label;
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
drawIcon();
drawTextFormat();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
public function get toggle():Boolean{
return (_toggle);
}
override protected function configUI():void{
super.configUI();
textField = new TextField();
textField.type = TextFieldType.DYNAMIC;
textField.selectable = false;
addChild(textField);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement;
textField.height = (textField.textHeight + 4);
_local3 = (textField.textWidth + 4);
_local4 = (textField.textHeight + 4);
_local5 = ((icon)==null) ? 0 : (icon.width + _local1);
_local6 = ((icon)==null) ? 0 : (icon.height + _local1);
textField.visible = (label.length > 0);
if (icon != null){
icon.x = Math.round(((width - icon.width) / 2));
icon.y = Math.round(((height - icon.height) / 2));
};
if (textField.visible == false){
textField.width = 0;
textField.height = 0;
} else {
if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){
_local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1))));
if ((height - 2) > _local4){
_local8 = _local4;
} else {
_local8 = (height - 2);
};
_local3 = _local7;
textField.width = _local3;
_local4 = _local8;
textField.height = _local4;
textField.x = Math.round(((width - _local3) / 2));
textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0));
if (icon != null){
icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1));
};
} else {
_local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1))));
_local3 = _local7;
textField.width = _local3;
textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0));
textField.y = Math.round(((height - textField.height) / 2));
if (icon != null){
icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1));
};
};
};
super.drawLayout();
}
override protected function initializeAccessibility():void{
if (LabelButton.createAccessibilityImplementation != null){
LabelButton.createAccessibilityImplementation(this);
};
}
protected function drawIcon():void{
var _local1:DisplayObject;
var _local2:String;
var _local3:Object;
_local1 = icon;
_local2 = (enabled) ? mouseState : "disabled";
if (selected){
_local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1));
};
_local2 = (_local2 + "Icon");
_local3 = getStyleValue(_local2);
if (_local3 == null){
_local3 = getStyleValue("icon");
};
if (_local3 != null){
icon = getDisplayObjectInstance(_local3);
};
if (icon != null){
addChildAt(icon, 1);
};
if (((!((_local1 == null))) && (!((_local1 == icon))))){
removeChild(_local1);
};
}
public function set label(_arg1:String):void{
_label = _arg1;
if (textField.text != _label){
textField.text = _label;
dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE));
};
invalidate(InvalidationType.SIZE);
invalidate(InvalidationType.STYLES);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition()));
}
}
}//package fl.controls
Section 35
//List (fl.controls.List)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import flash.geom.*;
import flash.utils.*;
import flash.ui.*;
public class List extends SelectableList implements IFocusManagerComponent {
protected var _labelField:String;// = "label"
protected var _rowHeight:Number;// = 20
protected var _cellRenderer:Object;
protected var _iconField:String;// = "icon"
protected var _labelFunction:Function;
protected var _iconFunction:Function;
private static var defaultStyles:Object = {focusRectSkin:null, focusRectPadding:null};
public static var createAccessibilityImplementation:Function;
public function List(){
_rowHeight = 20;
_labelField = "label";
_iconField = "icon";
super();
}
public function get iconField():String{
return (_iconField);
}
protected function doKeySelection(_arg1:int, _arg2:Boolean, _arg3:Boolean):void{
var _local4:Boolean;
var _local5:int;
var _local6:Array;
var _local7:int;
var _local8:int;
_local4 = false;
if (_arg2){
_local6 = [];
_local7 = lastCaretIndex;
_local8 = _arg1;
if (_local7 == -1){
_local7 = ((caretIndex)!=-1) ? caretIndex : _arg1;
};
if (_local7 > _local8){
_local8 = _local7;
_local7 = _arg1;
};
_local5 = _local7;
while (_local5 <= _local8) {
_local6.push(_local5);
_local5++;
};
selectedIndices = _local6;
caretIndex = _arg1;
_local4 = true;
} else {
selectedIndex = _arg1;
caretIndex = (lastCaretIndex = _arg1);
_local4 = true;
};
if (_local4){
dispatchEvent(new Event(Event.CHANGE));
};
invalidate(InvalidationType.DATA);
}
override protected function drawList():void{
var _local1:Rectangle;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:ICellRenderer;
var _local7:Dictionary;
var _local8:Dictionary;
var _local9:Boolean;
var _local10:String;
var _local11:Object;
var _local12:Sprite;
var _local13:String;
listHolder.x = (listHolder.y = contentPadding);
_local1 = listHolder.scrollRect;
_local1.x = _horizontalScrollPosition;
_local1.y = (Math.floor(_verticalScrollPosition) % rowHeight);
listHolder.scrollRect = _local1;
listHolder.cacheAsBitmap = useBitmapScrolling;
_local2 = Math.floor((_verticalScrollPosition / rowHeight));
_local3 = Math.min(length, ((_local2 + rowCount) + 1));
_local7 = (renderedItems = new Dictionary(true));
_local4 = _local2;
while (_local4 < _local3) {
_local7[_dataProvider.getItemAt(_local4)] = true;
_local4++;
};
_local8 = new Dictionary(true);
while (activeCellRenderers.length > 0) {
_local6 = (activeCellRenderers.pop() as ICellRenderer);
_local5 = _local6.data;
if ((((_local7[_local5] == null)) || ((invalidItems[_local5] == true)))){
availableCellRenderers.push(_local6);
} else {
_local8[_local5] = _local6;
invalidItems[_local5] = true;
};
list.removeChild((_local6 as DisplayObject));
};
invalidItems = new Dictionary(true);
_local4 = _local2;
while (_local4 < _local3) {
_local9 = false;
_local5 = _dataProvider.getItemAt(_local4);
if (_local8[_local5] != null){
_local9 = true;
_local6 = _local8[_local5];
delete _local8[_local5];
} else {
if (availableCellRenderers.length > 0){
_local6 = (availableCellRenderers.pop() as ICellRenderer);
} else {
_local6 = (getDisplayObjectInstance(getStyleValue("cellRenderer")) as ICellRenderer);
_local12 = (_local6 as Sprite);
if (_local12 != null){
_local12.addEventListener(MouseEvent.CLICK, handleCellRendererClick, false, 0, true);
_local12.addEventListener(MouseEvent.ROLL_OVER, handleCellRendererMouseEvent, false, 0, true);
_local12.addEventListener(MouseEvent.ROLL_OUT, handleCellRendererMouseEvent, false, 0, true);
_local12.addEventListener(Event.CHANGE, handleCellRendererChange, false, 0, true);
_local12.doubleClickEnabled = true;
_local12.addEventListener(MouseEvent.DOUBLE_CLICK, handleCellRendererDoubleClick, false, 0, true);
if (_local12["setStyle"] != null){
for (_local13 in rendererStyles) {
var _local16 = _local12;
_local16["setStyle"](_local13, rendererStyles[_local13]);
};
};
};
};
};
list.addChild((_local6 as Sprite));
activeCellRenderers.push(_local6);
_local6.y = (rowHeight * (_local4 - _local2));
_local6.setSize((availableWidth + _maxHorizontalScrollPosition), rowHeight);
_local10 = itemToLabel(_local5);
_local11 = null;
if (_iconFunction != null){
_local11 = _iconFunction(_local5);
} else {
if (_iconField != null){
_local11 = _local5[_iconField];
};
};
if (!_local9){
_local6.data = _local5;
};
_local6.listData = new ListData(_local10, _local11, this, _local4, _local4, 0);
_local6.selected = !((_selectedIndices.indexOf(_local4) == -1));
if ((_local6 is UIComponent)){
(_local6 as UIComponent).drawNow();
};
_local4++;
};
}
public function get iconFunction():Function{
return (_iconFunction);
}
public function set iconField(_arg1:String):void{
if (_arg1 == _iconField){
return;
};
_iconField = _arg1;
invalidate(InvalidationType.DATA);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:int;
if (!selectable){
return;
};
switch (_arg1.keyCode){
case Keyboard.UP:
case Keyboard.DOWN:
case Keyboard.END:
case Keyboard.HOME:
case Keyboard.PAGE_UP:
case Keyboard.PAGE_DOWN:
moveSelectionVertically(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
break;
case Keyboard.LEFT:
case Keyboard.RIGHT:
moveSelectionHorizontally(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
break;
case Keyboard.SPACE:
if (caretIndex == -1){
caretIndex = 0;
};
doKeySelection(caretIndex, _arg1.shiftKey, _arg1.ctrlKey);
scrollToSelected();
break;
default:
_local2 = getNextIndexAtLetter(String.fromCharCode(_arg1.keyCode), selectedIndex);
if (_local2 > -1){
selectedIndex = _local2;
scrollToSelected();
};
break;
};
_arg1.stopPropagation();
}
override public function itemToLabel(_arg1:Object):String{
if (_labelFunction != null){
return (String(_labelFunction(_arg1)));
};
return (((_arg1[_labelField])!=null) ? String(_arg1[_labelField]) : "");
}
public function get labelField():String{
return (_labelField);
}
override protected function moveSelectionVertically(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
var _local4:int;
var _local5:int;
var _local6:int;
_local4 = Math.max(Math.floor((calculateAvailableHeight() / rowHeight)), 1);
_local5 = -1;
_local6 = 0;
switch (_arg1){
case Keyboard.UP:
if (caretIndex > 0){
_local5 = (caretIndex - 1);
};
break;
case Keyboard.DOWN:
if (caretIndex < (length - 1)){
_local5 = (caretIndex + 1);
};
break;
case Keyboard.PAGE_UP:
if (caretIndex > 0){
_local5 = Math.max((caretIndex - _local4), 0);
};
break;
case Keyboard.PAGE_DOWN:
if (caretIndex < (length - 1)){
_local5 = Math.min((caretIndex + _local4), (length - 1));
};
break;
case Keyboard.HOME:
if (caretIndex > 0){
_local5 = 0;
};
break;
case Keyboard.END:
if (caretIndex < (length - 1)){
_local5 = (length - 1);
};
break;
};
if (_local5 >= 0){
doKeySelection(_local5, _arg2, _arg3);
scrollToSelected();
};
}
public function set labelField(_arg1:String):void{
if (_arg1 == _labelField){
return;
};
_labelField = _arg1;
invalidate(InvalidationType.DATA);
}
public function set rowCount(_arg1:uint):void{
var _local2:Number;
var _local3:Number;
_local2 = Number(getStyleValue("contentPadding"));
_local3 = ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0;
height = (((rowHeight * _arg1) + (2 * _local2)) + _local3);
}
override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
list.x = -(_arg1);
super.setHorizontalScrollPosition(_arg1, true);
}
public function set iconFunction(_arg1:Function):void{
if (_iconFunction == _arg1){
return;
};
_iconFunction = _arg1;
invalidate(InvalidationType.DATA);
}
public function get labelFunction():Function{
return (_labelFunction);
}
override protected function moveSelectionHorizontally(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
}
override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
invalidate(InvalidationType.SCROLL);
super.setVerticalScrollPosition(_arg1, true);
}
protected function calculateAvailableHeight():Number{
var _local1:Number;
_local1 = Number(getStyleValue("contentPadding"));
return (((height - (_local1 * 2)) - ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0));
}
override protected function draw():void{
var _local1:Boolean;
_local1 = !((contentHeight == (rowHeight * length)));
contentHeight = (rowHeight * length);
if (isInvalid(InvalidationType.STYLES)){
setStyles();
drawBackground();
if (contentPadding != getStyleValue("contentPadding")){
invalidate(InvalidationType.SIZE, false);
};
if (_cellRenderer != getStyleValue("cellRenderer")){
_invalidateList();
_cellRenderer = getStyleValue("cellRenderer");
};
};
if (((isInvalid(InvalidationType.SIZE, InvalidationType.STATE)) || (_local1))){
drawLayout();
};
if (isInvalid(InvalidationType.RENDERER_STYLES)){
updateRendererStyles();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.SIZE, InvalidationType.DATA, InvalidationType.SCROLL, InvalidationType.SELECTED)){
drawList();
};
updateChildren();
validate();
}
override protected function configUI():void{
useFixedHorizontalScrolling = true;
_horizontalScrollPolicy = ScrollPolicy.AUTO;
_verticalScrollPolicy = ScrollPolicy.AUTO;
super.configUI();
}
override public function get rowCount():uint{
return (Math.ceil((calculateAvailableHeight() / rowHeight)));
}
override protected function initializeAccessibility():void{
if (List.createAccessibilityImplementation != null){
List.createAccessibilityImplementation(this);
};
}
override public function scrollToIndex(_arg1:int):void{
var _local2:uint;
var _local3:uint;
drawNow();
_local2 = (Math.floor(((_verticalScrollPosition + availableHeight) / rowHeight)) - 1);
_local3 = Math.ceil((_verticalScrollPosition / rowHeight));
if (_arg1 < _local3){
verticalScrollPosition = (_arg1 * rowHeight);
} else {
if (_arg1 > _local2){
verticalScrollPosition = (((_arg1 + 1) * rowHeight) - availableHeight);
};
};
}
public function get rowHeight():Number{
return (_rowHeight);
}
public function set labelFunction(_arg1:Function):void{
if (_labelFunction == _arg1){
return;
};
_labelFunction = _arg1;
invalidate(InvalidationType.DATA);
}
public function set rowHeight(_arg1:Number):void{
_rowHeight = _arg1;
invalidate(InvalidationType.SIZE);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, SelectableList.getStyleDefinition()));
}
}
}//package fl.controls
Section 36
//ScrollBar (fl.controls.ScrollBar)
package fl.controls {
import fl.core.*;
import flash.events.*;
import fl.events.*;
public class ScrollBar extends UIComponent {
private var _direction:String;// = "vertical"
protected var inDrag:Boolean;// = false
protected var upArrow:BaseButton;
private var _pageScrollSize:Number;// = 0
protected var downArrow:BaseButton;
private var _pageSize:Number;// = 10
private var thumbScrollOffset:Number;
private var _maxScrollPosition:Number;// = 0
private var _scrollPosition:Number;// = 0
protected var track:BaseButton;
private var _minScrollPosition:Number;// = 0
private var _lineScrollSize:Number;// = 1
protected var thumb:LabelButton;
protected static const THUMB_STYLES:Object = {disabledSkin:"thumbDisabledSkin", downSkin:"thumbDownSkin", overSkin:"thumbOverSkin", upSkin:"thumbUpSkin", icon:"thumbIcon", textPadding:0};
public static const WIDTH:Number = 15;
protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const TRACK_STYLES:Object = {disabledSkin:"trackDisabledSkin", downSkin:"trackDownSkin", overSkin:"trackOverSkin", upSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {downArrowDisabledSkin:"ScrollArrowDown_disabledSkin", downArrowDownSkin:"ScrollArrowDown_downSkin", downArrowOverSkin:"ScrollArrowDown_overSkin", downArrowUpSkin:"ScrollArrowDown_upSkin", thumbDisabledSkin:"ScrollThumb_upSkin", thumbDownSkin:"ScrollThumb_downSkin", thumbOverSkin:"ScrollThumb_overSkin", thumbUpSkin:"ScrollThumb_upSkin", trackDisabledSkin:"ScrollTrack_skin", trackDownSkin:"ScrollTrack_skin", trackOverSkin:"ScrollTrack_skin", trackUpSkin:"ScrollTrack_skin", upArrowDisabledSkin:"ScrollArrowUp_disabledSkin", upArrowDownSkin:"ScrollArrowUp_downSkin", upArrowOverSkin:"ScrollArrowUp_overSkin", upArrowUpSkin:"ScrollArrowUp_upSkin", thumbIcon:"ScrollBar_thumbIcon", repeatDelay:500, repeatInterval:35};
public function ScrollBar(){
_pageSize = 10;
_pageScrollSize = 0;
_lineScrollSize = 1;
_minScrollPosition = 0;
_maxScrollPosition = 0;
_scrollPosition = 0;
_direction = ScrollBarDirection.VERTICAL;
inDrag = false;
super();
setStyles();
focusEnabled = false;
}
public function get minScrollPosition():Number{
return (_minScrollPosition);
}
public function set minScrollPosition(_arg1:Number):void{
setScrollProperties(_pageSize, _arg1, _maxScrollPosition);
}
public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{
var _local3:Number;
_local3 = scrollPosition;
_scrollPosition = Math.max(_minScrollPosition, Math.min(_maxScrollPosition, _arg1));
if (_local3 == _scrollPosition){
return;
};
if (_arg2){
dispatchEvent(new ScrollEvent(_direction, (scrollPosition - _local3), scrollPosition));
};
updateThumb();
}
public function set scrollPosition(_arg1:Number):void{
setScrollPosition(_arg1, true);
}
public function get pageScrollSize():Number{
return (((_pageScrollSize)==0) ? _pageSize : _pageScrollSize);
}
public function set pageSize(_arg1:Number):void{
if (_arg1 > 0){
_pageSize = _arg1;
};
}
public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{
this.pageSize = _arg1;
_minScrollPosition = _arg2;
_maxScrollPosition = _arg3;
if (_arg4 >= 0){
_pageScrollSize = _arg4;
};
enabled = (_maxScrollPosition > _minScrollPosition);
setScrollPosition(_scrollPosition, false);
updateThumb();
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
downArrow.enabled = (track.enabled = (thumb.enabled = (upArrow.enabled = ((enabled) && ((_maxScrollPosition > _minScrollPosition))))));
updateThumb();
}
protected function updateThumb():void{
var _local1:Number;
_local1 = ((_maxScrollPosition - _minScrollPosition) + _pageSize);
if ((((((track.height <= 12)) || ((_maxScrollPosition <= _minScrollPosition)))) || ((((_local1 == 0)) || (isNaN(_local1)))))){
thumb.height = 12;
thumb.visible = false;
} else {
thumb.height = Math.max(13, ((_pageSize / _local1) * track.height));
thumb.y = (track.y + ((track.height - thumb.height) * ((_scrollPosition - _minScrollPosition) / (_maxScrollPosition - _minScrollPosition))));
thumb.visible = enabled;
};
}
protected function thumbPressHandler(_arg1:MouseEvent):void{
inDrag = true;
thumbScrollOffset = (mouseY - thumb.y);
thumb.mouseStateLocked = true;
mouseChildren = false;
stage.addEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true);
}
protected function thumbReleaseHandler(_arg1:MouseEvent):void{
inDrag = false;
mouseChildren = true;
thumb.mouseStateLocked = false;
stage.removeEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag);
stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler);
}
public function set pageScrollSize(_arg1:Number):void{
if (_arg1 >= 0){
_pageScrollSize = _arg1;
};
}
protected function handleThumbDrag(_arg1:MouseEvent):void{
var _local2:Number;
_local2 = Math.max(0, Math.min((track.height - thumb.height), ((mouseY - track.y) - thumbScrollOffset)));
setScrollPosition((((_local2 / (track.height - thumb.height)) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition));
}
public function set direction(_arg1:String):void{
var _local2:Boolean;
if (_direction == _arg1){
return;
};
_direction = _arg1;
if (isLivePreview){
return;
};
setScaleY(1);
_local2 = (_direction == ScrollBarDirection.HORIZONTAL);
if (((_local2) && (componentInspectorSetting))){
if (rotation == 90){
return;
};
setScaleX(-1);
rotation = -90;
};
if (!componentInspectorSetting){
if (((_local2) && ((rotation == 0)))){
rotation = -90;
setScaleX(-1);
} else {
if (((!(_local2)) && ((rotation == -90)))){
rotation = 0;
setScaleX(1);
};
};
};
invalidate(InvalidationType.SIZE);
}
public function set lineScrollSize(_arg1:Number):void{
if (_arg1 > 0){
_lineScrollSize = _arg1;
};
}
override public function get height():Number{
return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.width : super.height);
}
protected function scrollPressHandler(_arg1:ComponentEvent):void{
var _local2:Number;
var _local3:Number;
_arg1.stopImmediatePropagation();
if (_arg1.currentTarget == upArrow){
setScrollPosition((_scrollPosition - _lineScrollSize));
} else {
if (_arg1.currentTarget == downArrow){
setScrollPosition((_scrollPosition + _lineScrollSize));
} else {
_local2 = (((track.mouseY / track.height) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition);
_local3 = ((pageScrollSize)==0) ? pageSize : pageScrollSize;
if (_scrollPosition < _local2){
setScrollPosition(Math.min(_local2, (_scrollPosition + _local3)));
} else {
if (_scrollPosition > _local2){
setScrollPosition(Math.max(_local2, (_scrollPosition - _local3)));
};
};
};
};
}
public function get pageSize():Number{
return (_pageSize);
}
public function set maxScrollPosition(_arg1:Number):void{
setScrollProperties(_pageSize, _minScrollPosition, _arg1);
}
public function get scrollPosition():Number{
return (_scrollPosition);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
var _local1:Number;
if (isInvalid(InvalidationType.SIZE)){
_local1 = super.height;
downArrow.move(0, Math.max(upArrow.height, (_local1 - downArrow.height)));
track.setSize(WIDTH, Math.max(0, (_local1 - (downArrow.height + upArrow.height))));
updateThumb();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
setStyles();
};
downArrow.drawNow();
upArrow.drawNow();
track.drawNow();
thumb.drawNow();
validate();
}
override protected function configUI():void{
super.configUI();
track = new BaseButton();
track.move(0, 14);
track.useHandCursor = false;
track.autoRepeat = true;
track.focusEnabled = false;
addChild(track);
thumb = new LabelButton();
thumb.label = "";
thumb.setSize(WIDTH, 15);
thumb.move(0, 15);
thumb.focusEnabled = false;
addChild(thumb);
downArrow = new BaseButton();
downArrow.setSize(WIDTH, 14);
downArrow.autoRepeat = true;
downArrow.focusEnabled = false;
addChild(downArrow);
upArrow = new BaseButton();
upArrow.setSize(WIDTH, 14);
upArrow.move(0, 0);
upArrow.autoRepeat = true;
upArrow.focusEnabled = false;
addChild(upArrow);
upArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
downArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
track.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true);
enabled = false;
}
public function get direction():String{
return (_direction);
}
public function get lineScrollSize():Number{
return (_lineScrollSize);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
if (_direction == ScrollBarDirection.HORIZONTAL){
super.setSize(_arg2, _arg1);
} else {
super.setSize(_arg1, _arg2);
};
}
public function get maxScrollPosition():Number{
return (_maxScrollPosition);
}
override public function get width():Number{
return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.height : super.width);
}
protected function setStyles():void{
copyStylesToChild(downArrow, DOWN_ARROW_STYLES);
copyStylesToChild(thumb, THUMB_STYLES);
copyStylesToChild(track, TRACK_STYLES);
copyStylesToChild(upArrow, UP_ARROW_STYLES);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 37
//ScrollBarDirection (fl.controls.ScrollBarDirection)
package fl.controls {
public class ScrollBarDirection {
public static const HORIZONTAL:String = "horizontal";
public static const VERTICAL:String = "vertical";
}
}//package fl.controls
Section 38
//ScrollPolicy (fl.controls.ScrollPolicy)
package fl.controls {
public class ScrollPolicy {
public static const OFF:String = "off";
public static const ON:String = "on";
public static const AUTO:String = "auto";
}
}//package fl.controls
Section 39
//SelectableList (fl.controls.SelectableList)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.data.*;
import fl.managers.*;
import fl.events.*;
import flash.utils.*;
import fl.containers.*;
import flash.ui.*;
public class SelectableList extends BaseScrollPane implements IFocusManagerComponent {
protected var invalidItems:Dictionary;
protected var renderedItems:Dictionary;
protected var listHolder:Sprite;
protected var _allowMultipleSelection:Boolean;// = false
protected var lastCaretIndex:int;// = -1
protected var _selectedIndices:Array;
protected var availableCellRenderers:Array;
protected var list:Sprite;
protected var caretIndex:int;// = -1
protected var updatedRendererStyles:Object;
protected var preChangeItems:Array;
protected var activeCellRenderers:Array;
protected var rendererStyles:Object;
protected var _verticalScrollPosition:Number;
protected var _dataProvider:DataProvider;
protected var _horizontalScrollPosition:Number;
private var collectionItemImport:SimpleCollectionItem;
protected var _selectable:Boolean;// = true
private static var defaultStyles:Object = {skin:"List_skin", cellRenderer:CellRenderer, contentPadding:null, disabledAlpha:null};
public static var createAccessibilityImplementation:Function;
public function SelectableList(){
_allowMultipleSelection = false;
_selectable = true;
caretIndex = -1;
lastCaretIndex = -1;
super();
activeCellRenderers = [];
availableCellRenderers = [];
invalidItems = new Dictionary(true);
renderedItems = new Dictionary(true);
_selectedIndices = [];
if (dataProvider == null){
dataProvider = new DataProvider();
};
verticalScrollPolicy = ScrollPolicy.AUTO;
rendererStyles = {};
updatedRendererStyles = {};
}
protected function drawList():void{
}
public function set allowMultipleSelection(_arg1:Boolean):void{
if (_arg1 == _allowMultipleSelection){
return;
};
_allowMultipleSelection = _arg1;
if (((!(_arg1)) && ((_selectedIndices.length > 1)))){
_selectedIndices = [_selectedIndices.pop()];
invalidate(InvalidationType.DATA);
};
}
public function sortItemsOn(_arg1:String, _arg2:Object=null){
return (_dataProvider.sortOn(_arg1, _arg2));
}
public function removeItemAt(_arg1:uint):Object{
return (_dataProvider.removeItemAt(_arg1));
}
public function get selectedItem():Object{
return (((_selectedIndices.length)==0) ? null : _dataProvider.getItemAt(selectedIndex));
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!selectable){
return;
};
switch (_arg1.keyCode){
case Keyboard.UP:
case Keyboard.DOWN:
case Keyboard.END:
case Keyboard.HOME:
case Keyboard.PAGE_UP:
case Keyboard.PAGE_DOWN:
moveSelectionVertically(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
_arg1.stopPropagation();
break;
case Keyboard.LEFT:
case Keyboard.RIGHT:
moveSelectionHorizontally(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
_arg1.stopPropagation();
break;
};
}
public function get selectable():Boolean{
return (_selectable);
}
public function itemToCellRenderer(_arg1:Object):ICellRenderer{
var _local2:*;
var _local3:ICellRenderer;
if (_arg1 != null){
for (_local2 in activeCellRenderers) {
_local3 = (activeCellRenderers[_local2] as ICellRenderer);
if (_local3.data == _arg1){
return (_local3);
};
};
};
return (null);
}
public function getNextIndexAtLetter(_arg1:String, _arg2:int=-1):int{
var _local3:int;
var _local4:Number;
var _local5:Number;
var _local6:Object;
var _local7:String;
if (length == 0){
return (-1);
};
_arg1 = _arg1.toUpperCase();
_local3 = (length - 1);
_local4 = 0;
while (_local4 < _local3) {
_local5 = ((_arg2 + 1) + _local4);
if (_local5 > (length - 1)){
_local5 = (_local5 - length);
};
_local6 = getItemAt(_local5);
if (_local6 == null){
break;
};
_local7 = itemToLabel(_local6);
if (_local7 == null){
} else {
if (_local7.charAt(0).toUpperCase() == _arg1){
return (_local5);
};
};
_local4++;
};
return (-1);
}
public function invalidateList():void{
_invalidateList();
invalidate(InvalidationType.DATA);
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
list.mouseChildren = _enabled;
}
public function get selectedIndices():Array{
return (_selectedIndices.concat());
}
public function set selectable(_arg1:Boolean):void{
if (_arg1 == _selectable){
return;
};
if (!_arg1){
selectedIndices = [];
};
_selectable = _arg1;
}
public function itemToLabel(_arg1:Object):String{
return (_arg1["label"]);
}
public function addItemAt(_arg1:Object, _arg2:uint):void{
_dataProvider.addItemAt(_arg1, _arg2);
invalidateList();
}
public function replaceItemAt(_arg1:Object, _arg2:uint):Object{
return (_dataProvider.replaceItemAt(_arg1, _arg2));
}
protected function handleDataChange(_arg1:DataChangeEvent):void{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:uint;
_local2 = _arg1.startIndex;
_local3 = _arg1.endIndex;
_local4 = _arg1.changeType;
if (_local4 == DataChangeType.INVALIDATE_ALL){
clearSelection();
invalidateList();
} else {
if (_local4 == DataChangeType.INVALIDATE){
_local5 = 0;
while (_local5 < _arg1.items.length) {
invalidateItem(_arg1.items[_local5]);
_local5++;
};
} else {
if (_local4 == DataChangeType.ADD){
_local5 = 0;
while (_local5 < _selectedIndices.length) {
if (_selectedIndices[_local5] >= _local2){
_selectedIndices[_local5] = (_selectedIndices[_local5] + (_local2 - _local3));
};
_local5++;
};
} else {
if (_local4 == DataChangeType.REMOVE){
_local5 = 0;
while (_local5 < _selectedIndices.length) {
if (_selectedIndices[_local5] >= _local2){
if (_selectedIndices[_local5] <= _local3){
delete _selectedIndices[_local5];
} else {
_selectedIndices[_local5] = (_selectedIndices[_local5] - ((_local2 - _local3) + 1));
};
};
_local5++;
};
} else {
if (_local4 == DataChangeType.REMOVE_ALL){
clearSelection();
} else {
if (_local4 == DataChangeType.REPLACE){
} else {
selectedItems = preChangeItems;
preChangeItems = null;
};
};
};
};
};
};
invalidate(InvalidationType.DATA);
}
protected function _invalidateList():void{
availableCellRenderers = [];
while (activeCellRenderers.length > 0) {
list.removeChild((activeCellRenderers.pop() as DisplayObject));
};
}
protected function updateRendererStyles():void{
var _local1:Array;
var _local2:uint;
var _local3:uint;
var _local4:String;
_local1 = availableCellRenderers.concat(activeCellRenderers);
_local2 = _local1.length;
_local3 = 0;
while (_local3 < _local2) {
if (_local1[_local3].setStyle == null){
} else {
for (_local4 in updatedRendererStyles) {
_local1[_local3].setStyle(_local4, updatedRendererStyles[_local4]);
};
_local1[_local3].drawNow();
};
_local3++;
};
updatedRendererStyles = {};
}
public function set selectedItem(_arg1:Object):void{
var _local2:int;
_local2 = _dataProvider.getItemIndex(_arg1);
selectedIndex = _local2;
}
public function sortItems(... _args){
return (_dataProvider.sort.apply(_dataProvider, _args));
}
public function removeAll():void{
_dataProvider.removeAll();
}
protected function handleCellRendererChange(_arg1:Event):void{
var _local2:ICellRenderer;
var _local3:uint;
_local2 = (_arg1.currentTarget as ICellRenderer);
_local3 = _local2.listData.index;
_dataProvider.invalidateItemAt(_local3);
}
protected function moveSelectionVertically(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
}
override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
if (_arg1 == _horizontalScrollPosition){
return;
};
_local3 = (_arg1 - _horizontalScrollPosition);
_horizontalScrollPosition = _arg1;
if (_arg2){
dispatchEvent(new ScrollEvent(ScrollBarDirection.HORIZONTAL, _local3, _arg1));
};
}
public function scrollToSelected():void{
scrollToIndex(selectedIndex);
}
public function invalidateItem(_arg1:Object):void{
if (renderedItems[_arg1] == null){
return;
};
invalidItems[_arg1] = true;
invalidate(InvalidationType.DATA);
}
protected function handleCellRendererClick(_arg1:MouseEvent):void{
var _local2:ICellRenderer;
var _local3:uint;
var _local4:int;
var _local5:int;
var _local6:uint;
if (!_enabled){
return;
};
_local2 = (_arg1.currentTarget as ICellRenderer);
_local3 = _local2.listData.index;
if (((!(dispatchEvent(new ListEvent(ListEvent.ITEM_CLICK, false, true, _local2.listData.column, _local2.listData.row, _local3, _local2.data)))) || (!(_selectable)))){
return;
};
_local4 = selectedIndices.indexOf(_local3);
if (!_allowMultipleSelection){
if (_local4 != -1){
return;
};
_local2.selected = true;
_selectedIndices = [_local3];
lastCaretIndex = (caretIndex = _local3);
} else {
if (_arg1.shiftKey){
_local6 = ((_selectedIndices.length)>0) ? _selectedIndices[0] : _local3;
_selectedIndices = [];
if (_local6 > _local3){
_local5 = _local6;
while (_local5 >= _local3) {
_selectedIndices.push(_local5);
_local5--;
};
} else {
_local5 = _local6;
while (_local5 <= _local3) {
_selectedIndices.push(_local5);
_local5++;
};
};
caretIndex = _local3;
} else {
if (_arg1.ctrlKey){
if (_local4 != -1){
_local2.selected = false;
_selectedIndices.splice(_local4, 1);
} else {
_local2.selected = true;
_selectedIndices.push(_local3);
};
caretIndex = _local3;
} else {
_selectedIndices = [_local3];
lastCaretIndex = (caretIndex = _local3);
};
};
};
dispatchEvent(new Event(Event.CHANGE));
invalidate(InvalidationType.DATA);
}
public function get length():uint{
return (_dataProvider.length);
}
public function get allowMultipleSelection():Boolean{
return (_allowMultipleSelection);
}
protected function onPreChange(_arg1:DataChangeEvent):void{
switch (_arg1.changeType){
case DataChangeType.REMOVE:
case DataChangeType.ADD:
case DataChangeType.INVALIDATE:
case DataChangeType.REMOVE_ALL:
case DataChangeType.REPLACE:
case DataChangeType.INVALIDATE_ALL:
break;
default:
preChangeItems = selectedItems;
break;
};
}
public function getRendererStyle(_arg1:String, _arg2:int=-1):Object{
return (rendererStyles[_arg1]);
}
override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
if (_arg1 == _verticalScrollPosition){
return;
};
_local3 = (_arg1 - _verticalScrollPosition);
_verticalScrollPosition = _arg1;
if (_arg2){
dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _local3, _arg1));
};
}
protected function moveSelectionHorizontally(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
}
public function set selectedIndices(_arg1:Array):void{
if (!_selectable){
return;
};
_selectedIndices = ((_arg1)==null) ? [] : _arg1.concat();
invalidate(InvalidationType.SELECTED);
}
public function get selectedIndex():int{
return (((_selectedIndices.length)==0) ? -1 : _selectedIndices[(_selectedIndices.length - 1)]);
}
override protected function draw():void{
super.draw();
}
override protected function configUI():void{
super.configUI();
listHolder = new Sprite();
addChild(listHolder);
listHolder.scrollRect = contentScrollRect;
list = new Sprite();
listHolder.addChild(list);
}
public function addItem(_arg1:Object):void{
_dataProvider.addItem(_arg1);
invalidateList();
}
protected function handleCellRendererMouseEvent(_arg1:MouseEvent):void{
var _local2:ICellRenderer;
var _local3:String;
_local2 = (_arg1.target as ICellRenderer);
_local3 = ((_arg1.type)==MouseEvent.ROLL_OVER) ? ListEvent.ITEM_ROLL_OVER : ListEvent.ITEM_ROLL_OUT;
dispatchEvent(new ListEvent(_local3, false, false, _local2.listData.column, _local2.listData.row, _local2.listData.index, _local2.data));
}
public function clearRendererStyle(_arg1:String, _arg2:int=-1):void{
delete rendererStyles[_arg1];
updatedRendererStyles[_arg1] = null;
invalidate(InvalidationType.RENDERER_STYLES);
}
protected function handleCellRendererDoubleClick(_arg1:MouseEvent):void{
var _local2:ICellRenderer;
var _local3:uint;
if (!_enabled){
return;
};
_local2 = (_arg1.currentTarget as ICellRenderer);
_local3 = _local2.listData.index;
dispatchEvent(new ListEvent(ListEvent.ITEM_DOUBLE_CLICK, false, true, _local2.listData.column, _local2.listData.row, _local3, _local2.data));
}
public function get rowCount():uint{
return (0);
}
public function isItemSelected(_arg1:Object):Boolean{
return ((selectedItems.indexOf(_arg1) > -1));
}
public function set dataProvider(_arg1:DataProvider):void{
if (_dataProvider != null){
_dataProvider.removeEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange);
_dataProvider.removeEventListener(DataChangeEvent.PRE_DATA_CHANGE, onPreChange);
};
_dataProvider = _arg1;
_dataProvider.addEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange, false, 0, true);
_dataProvider.addEventListener(DataChangeEvent.PRE_DATA_CHANGE, onPreChange, false, 0, true);
clearSelection();
invalidateList();
}
override protected function drawLayout():void{
super.drawLayout();
contentScrollRect = listHolder.scrollRect;
contentScrollRect.width = availableWidth;
contentScrollRect.height = availableHeight;
listHolder.scrollRect = contentScrollRect;
}
public function getItemAt(_arg1:uint):Object{
return (_dataProvider.getItemAt(_arg1));
}
override protected function initializeAccessibility():void{
if (SelectableList.createAccessibilityImplementation != null){
SelectableList.createAccessibilityImplementation(this);
};
}
public function scrollToIndex(_arg1:int):void{
}
public function removeItem(_arg1:Object):Object{
return (_dataProvider.removeItem(_arg1));
}
public function get dataProvider():DataProvider{
return (_dataProvider);
}
public function set maxHorizontalScrollPosition(_arg1:Number):void{
_maxHorizontalScrollPosition = _arg1;
invalidate(InvalidationType.SIZE);
}
public function setRendererStyle(_arg1:String, _arg2:Object, _arg3:uint=0):void{
if (rendererStyles[_arg1] == _arg2){
return;
};
updatedRendererStyles[_arg1] = _arg2;
rendererStyles[_arg1] = _arg2;
invalidate(InvalidationType.RENDERER_STYLES);
}
public function invalidateItemAt(_arg1:uint):void{
var _local2:Object;
_local2 = _dataProvider.getItemAt(_arg1);
if (_local2 != null){
invalidateItem(_local2);
};
}
public function set selectedItems(_arg1:Array):void{
var _local2:Array;
var _local3:uint;
var _local4:int;
if (_arg1 == null){
selectedIndices = null;
return;
};
_local2 = [];
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _dataProvider.getItemIndex(_arg1[_local3]);
if (_local4 != -1){
_local2.push(_local4);
};
_local3++;
};
selectedIndices = _local2;
}
public function clearSelection():void{
selectedIndex = -1;
}
override public function get maxHorizontalScrollPosition():Number{
return (_maxHorizontalScrollPosition);
}
public function get selectedItems():Array{
var _local1:Array;
var _local2:uint;
_local1 = [];
_local2 = 0;
while (_local2 < _selectedIndices.length) {
_local1.push(_dataProvider.getItemAt(_selectedIndices[_local2]));
_local2++;
};
return (_local1);
}
public function set selectedIndex(_arg1:int):void{
selectedIndices = ((_arg1)==-1) ? null : [_arg1];
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseScrollPane.getStyleDefinition()));
}
}
}//package fl.controls
Section 40
//TextArea (fl.controls.TextArea)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.system.*;
import flash.ui.*;
public class TextArea extends UIComponent implements IFocusManagerComponent {
protected var _html:Boolean;// = false
protected var _verticalScrollBar:UIScrollBar;
protected var _savedHTML:String;
protected var background:DisplayObject;
protected var _horizontalScrollBar:UIScrollBar;
protected var _horizontalScrollPolicy:String;// = "auto"
protected var _editable:Boolean;// = true
protected var textHasChanged:Boolean;// = false
public var textField:TextField;
protected var _wordWrap:Boolean;// = true
protected var _verticalScrollPolicy:String;// = "auto"
protected static const SCROLL_BAR_STYLES:Object = {downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {upSkin:"TextArea_upSkin", disabledSkin:"TextArea_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:3, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function TextArea(){
_editable = true;
_wordWrap = true;
_horizontalScrollPolicy = ScrollPolicy.AUTO;
_verticalScrollPolicy = ScrollPolicy.AUTO;
_html = false;
textHasChanged = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
if (focusTarget != null){
focusTarget.drawFocus(_arg1);
return;
};
super.drawFocus(_arg1);
}
public function set imeMode(_arg1:String):void{
_imeMode = _arg1;
}
protected function handleWheel(_arg1:MouseEvent):void{
if (((!(enabled)) || (!(_verticalScrollBar.visible)))){
return;
};
_verticalScrollBar.scrollPosition = (_verticalScrollBar.scrollPosition - (_arg1.delta * _verticalScrollBar.lineScrollSize));
dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, (_arg1.delta * _verticalScrollBar.lineScrollSize), _verticalScrollBar.scrollPosition));
}
public function get verticalScrollPosition():Number{
return (textField.scrollV);
}
override protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((((_arg1 == textField)) || (super.isOurFocus(_arg1))));
}
public function set verticalScrollPosition(_arg1:Number):void{
drawNow();
textField.scrollV = _arg1;
}
protected function handleKeyDown(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.ENTER){
dispatchEvent(new ComponentEvent(ComponentEvent.ENTER, true));
};
}
public function set text(_arg1:String):void{
if (((componentInspectorSetting) && ((_arg1 == "")))){
return;
};
textField.text = _arg1;
_html = false;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STYLES);
textHasChanged = true;
}
protected function updateTextFieldType():void{
textField.type = (((enabled) && (_editable))) ? TextFieldType.INPUT : TextFieldType.DYNAMIC;
textField.selectable = enabled;
textField.wordWrap = _wordWrap;
textField.multiline = true;
}
public function get selectionEndIndex():int{
return (textField.selectionEndIndex);
}
public function get editable():Boolean{
return (_editable);
}
override protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
setIMEMode(true);
if (_arg1.target == this){
stage.focus = textField;
};
_local2 = focusManager;
if (_local2){
if (editable){
_local2.showFocusIndicator = true;
};
_local2.defaultButtonEnabled = false;
};
super.focusInHandler(_arg1);
if (editable){
setIMEMode(true);
};
}
public function get wordWrap():Boolean{
return (_wordWrap);
}
public function get selectionBeginIndex():int{
return (textField.selectionBeginIndex);
}
public function get horizontalScrollBar():UIScrollBar{
return (_horizontalScrollBar);
}
public function set alwaysShowSelection(_arg1:Boolean):void{
textField.alwaysShowSelection = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseChildren = enabled;
invalidate(InvalidationType.STATE);
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
public function get horizontalScrollPosition():Number{
return (textField.scrollH);
}
public function set condenseWhite(_arg1:Boolean):void{
textField.condenseWhite = _arg1;
invalidate(InvalidationType.DATA);
}
public function get horizontalScrollPolicy():String{
return (_horizontalScrollPolicy);
}
public function set displayAsPassword(_arg1:Boolean):void{
textField.displayAsPassword = _arg1;
}
public function get maxVerticalScrollPosition():int{
return (textField.maxScrollV);
}
public function set horizontalScrollPosition(_arg1:Number):void{
drawNow();
textField.scrollH = _arg1;
}
public function get textHeight():Number{
drawNow();
return (textField.textHeight);
}
public function get textWidth():Number{
drawNow();
return (textField.textWidth);
}
public function get restrict():String{
return (textField.restrict);
}
public function set editable(_arg1:Boolean):void{
_editable = _arg1;
invalidate(InvalidationType.STATE);
}
protected function updateScrollBars(){
_horizontalScrollBar.update();
_verticalScrollBar.update();
_verticalScrollBar.enabled = enabled;
_horizontalScrollBar.enabled = enabled;
_horizontalScrollBar.drawNow();
_verticalScrollBar.drawNow();
}
public function get maxChars():int{
return (textField.maxChars);
}
public function get length():Number{
return (textField.text.length);
}
public function set wordWrap(_arg1:Boolean):void{
_wordWrap = _arg1;
invalidate(InvalidationType.STATE);
}
public function get verticalScrollPolicy():String{
return (_verticalScrollPolicy);
}
public function getLineMetrics(_arg1:int):TextLineMetrics{
return (textField.getLineMetrics(_arg1));
}
public function get imeMode():String{
return (IME.conversionMode);
}
protected function handleScroll(_arg1:ScrollEvent):void{
dispatchEvent(_arg1);
}
override protected function focusOutHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
_local2 = focusManager;
if (_local2){
_local2.defaultButtonEnabled = true;
};
setSelection(0, 0);
super.focusOutHandler(_arg1);
if (editable){
setIMEMode(false);
};
}
protected function delayedLayoutUpdate(_arg1:Event):void{
if (textHasChanged){
textHasChanged = false;
drawLayout();
return;
};
removeEventListener(Event.ENTER_FRAME, delayedLayoutUpdate);
}
public function set htmlText(_arg1:String):void{
if (((componentInspectorSetting) && ((_arg1 == "")))){
return;
};
if (_arg1 == ""){
text = "";
return;
};
_html = true;
_savedHTML = _arg1;
textField.htmlText = _arg1;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STYLES);
textHasChanged = true;
}
public function get text():String{
return (textField.text);
}
public function get verticalScrollBar():UIScrollBar{
return (_verticalScrollBar);
}
override public function get enabled():Boolean{
return (super.enabled);
}
public function get condenseWhite():Boolean{
return (textField.condenseWhite);
}
public function set horizontalScrollPolicy(_arg1:String):void{
_horizontalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get displayAsPassword():Boolean{
return (textField.displayAsPassword);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STATE)){
updateTextFieldType();
};
if (isInvalid(InvalidationType.STYLES)){
setStyles();
setEmbedFont();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawTextFormat();
drawBackground();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.DATA)){
drawLayout();
};
super.draw();
}
protected function handleTextInput(_arg1:TextEvent):void{
_arg1.stopPropagation();
dispatchEvent(new TextEvent(TextEvent.TEXT_INPUT, true, false, _arg1.text));
}
override protected function configUI():void{
super.configUI();
tabChildren = true;
textField = new TextField();
addChild(textField);
updateTextFieldType();
_verticalScrollBar = new UIScrollBar();
_verticalScrollBar.name = "V";
_verticalScrollBar.visible = false;
_verticalScrollBar.focusEnabled = false;
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
_verticalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
addChild(_verticalScrollBar);
_horizontalScrollBar = new UIScrollBar();
_horizontalScrollBar.name = "H";
_horizontalScrollBar.visible = false;
_horizontalScrollBar.focusEnabled = false;
_horizontalScrollBar.direction = ScrollBarDirection.HORIZONTAL;
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
_horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
addChild(_horizontalScrollBar);
textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput, false, 0, true);
textField.addEventListener(Event.CHANGE, handleChange, false, 0, true);
textField.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown, false, 0, true);
_horizontalScrollBar.scrollTarget = textField;
_verticalScrollBar.scrollTarget = textField;
addEventListener(MouseEvent.MOUSE_WHEEL, handleWheel, false, 0, true);
}
protected function setTextSize(_arg1:Number, _arg2:Number, _arg3:Number):void{
var _local4:Number;
var _local5:Number;
_local4 = (_arg1 - (_arg3 * 2));
_local5 = (_arg2 - (_arg3 * 2));
if (_local4 != textField.width){
textField.width = _local4;
};
if (_local5 != textField.height){
textField.height = _local5;
};
}
public function appendText(_arg1:String):void{
textField.appendText(_arg1);
invalidate(InvalidationType.DATA);
}
protected function needVScroll():Boolean{
if (_verticalScrollPolicy == ScrollPolicy.OFF){
return (false);
};
if (_verticalScrollPolicy == ScrollPolicy.ON){
return (true);
};
return ((textField.maxScrollV > 1));
}
public function setSelection(_arg1:int, _arg2:int):void{
textField.setSelection(_arg1, _arg2);
}
public function get alwaysShowSelection():Boolean{
return (textField.alwaysShowSelection);
}
public function get htmlText():String{
return (textField.htmlText);
}
public function set restrict(_arg1:String):void{
if (((componentInspectorSetting) && ((_arg1 == "")))){
_arg1 = null;
};
textField.restrict = _arg1;
}
protected function drawBackground():void{
var _local1:DisplayObject;
var _local2:String;
_local1 = background;
_local2 = (enabled) ? "upSkin" : "disabledSkin";
background = getDisplayObjectInstance(getStyleValue(_local2));
if (background != null){
addChildAt(background, 0);
};
if (((((!((_local1 == null))) && (!((_local1 == background))))) && (contains(_local1)))){
removeChild(_local1);
};
}
public function set maxChars(_arg1:int):void{
textField.maxChars = _arg1;
}
public function get maxHorizontalScrollPosition():int{
return (textField.maxScrollH);
}
protected function drawLayout():void{
var _local1:Number;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
var _local5:Boolean;
_local1 = Number(getStyleValue("textPadding"));
textField.x = (textField.y = _local1);
background.width = width;
background.height = height;
_local2 = height;
_local3 = needVScroll();
_local4 = (width - (_local3) ? _verticalScrollBar.width : 0);
_local5 = needHScroll();
if (_local5){
_local2 = (_local2 - _horizontalScrollBar.height);
};
setTextSize(_local4, _local2, _local1);
if (((((_local5) && (!(_local3)))) && (needVScroll()))){
_local3 = true;
_local4 = (_local4 - _verticalScrollBar.width);
setTextSize(_local4, _local2, _local1);
};
if (_local3){
_verticalScrollBar.visible = true;
_verticalScrollBar.x = (width - _verticalScrollBar.width);
_verticalScrollBar.height = _local2;
_verticalScrollBar.visible = true;
_verticalScrollBar.enabled = enabled;
} else {
_verticalScrollBar.visible = false;
};
if (_local5){
_horizontalScrollBar.visible = true;
_horizontalScrollBar.y = (height - _horizontalScrollBar.height);
_horizontalScrollBar.width = _local4;
_horizontalScrollBar.visible = true;
_horizontalScrollBar.enabled = enabled;
} else {
_horizontalScrollBar.visible = false;
};
updateScrollBars();
addEventListener(Event.ENTER_FRAME, delayedLayoutUpdate, false, 0, true);
}
protected function setStyles():void{
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
}
protected function needHScroll():Boolean{
if (_horizontalScrollPolicy == ScrollPolicy.OFF){
return (false);
};
if (_horizontalScrollPolicy == ScrollPolicy.ON){
return (true);
};
return ((textField.maxScrollH > 0));
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
if (_html){
textField.htmlText = _savedHTML;
};
}
public function set verticalScrollPolicy(_arg1:String):void{
_verticalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
protected function handleChange(_arg1:Event):void{
_arg1.stopPropagation();
dispatchEvent(new Event(Event.CHANGE, true));
invalidate(InvalidationType.DATA);
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(defaultStyles, ScrollBar.getStyleDefinition()));
}
}
}//package fl.controls
Section 41
//TileList (fl.controls.TileList)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.data.*;
import fl.managers.*;
import flash.utils.*;
import flash.ui.*;
public class TileList extends SelectableList implements IFocusManagerComponent {
protected var _labelField:String;// = "label"
protected var _scrollPolicy:String;// = "auto"
protected var _labelFunction:Function;
protected var _scrollDirection:String;// = "horizontal"
protected var _iconFunction:Function;
private var collectionItemImport:TileListCollectionItem;
protected var _rowHeight:Number;// = 50
protected var _cellRenderer:Object;
protected var _columnWidth:Number;// = 50
protected var _iconField:String;// = "icon"
protected var _sourceFunction:Function;
protected var __rowCount:uint;// = 0
protected var __columnCount:uint;// = 0
protected var _sourceField:String;// = "source"
protected var oldLength:uint;// = 0
private static var defaultStyles:Object = {cellRenderer:ImageCell, focusRectSkin:null, focusRectPadding:null, skin:"TileList_skin"};
public static var createAccessibilityImplementation:Function;
public function TileList(){
_rowHeight = 50;
_columnWidth = 50;
_scrollDirection = ScrollBarDirection.HORIZONTAL;
_scrollPolicy = ScrollPolicy.AUTO;
oldLength = 0;
_labelField = "label";
_iconField = "icon";
_sourceField = "source";
__rowCount = 0;
__columnCount = 0;
super();
}
public function get iconField():String{
return (_iconField);
}
override protected function drawList():void{
var _local1:uint;
var _local2:uint;
var _local3:Object;
var _local4:ICellRenderer;
var _local5:uint;
var _local6:uint;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:uint;
var _local12:uint;
var _local13:Array;
var _local14:Dictionary;
var _local15:Dictionary;
var _local16:uint;
var _local17:uint;
var _local18:uint;
var _local19:uint;
var _local20:Boolean;
var _local21:String;
var _local22:Object;
var _local23:Object;
var _local24:Sprite;
var _local25:String;
var _local26:UIComponent;
_local5 = rowCount;
_local6 = columnCount;
_local7 = columnWidth;
_local8 = rowHeight;
_local9 = 0;
_local10 = 0;
listHolder.x = (listHolder.y = contentPadding);
contentScrollRect = listHolder.scrollRect;
contentScrollRect.x = (Math.floor(_horizontalScrollPosition) % _local7);
contentScrollRect.y = (Math.floor(_verticalScrollPosition) % _local8);
listHolder.scrollRect = contentScrollRect;
listHolder.cacheAsBitmap = useBitmapScrolling;
_local13 = [];
if (_scrollDirection == ScrollBarDirection.HORIZONTAL){
_local16 = ((availableWidth / _local7) << 0);
_local17 = Math.max(_local16, Math.ceil((length / _local5)));
_local9 = ((_horizontalScrollPosition / _local7) << 0);
_local6 = Math.max(_local16, Math.min((_local17 - _local9), (_local6 + 1)));
_local12 = 0;
while (_local12 < _local5) {
_local11 = 0;
while (_local11 < _local6) {
_local2 = (((_local12 * _local17) + _local9) + _local11);
if (_local2 >= length){
break;
};
_local13.push(_local2);
_local11++;
};
_local12++;
};
} else {
_local5++;
_local10 = ((_verticalScrollPosition / _local8) << 0);
_local18 = Math.floor((_local10 * _local6));
_local19 = Math.min(length, (_local18 + (_local5 * _local6)));
_local1 = _local18;
while (_local1 < _local19) {
_local13.push(_local1);
_local1++;
};
};
_local14 = (renderedItems = new Dictionary(true));
for each (_local2 in _local13) {
_local14[_dataProvider.getItemAt(_local2)] = true;
};
_local15 = new Dictionary(true);
while (activeCellRenderers.length > 0) {
_local4 = activeCellRenderers.pop();
_local3 = _local4.data;
if ((((_local14[_local3] == null)) || ((invalidItems[_local3] == true)))){
availableCellRenderers.push(_local4);
} else {
_local15[_local3] = _local4;
invalidItems[_local3] = true;
};
list.removeChild((_local4 as DisplayObject));
};
invalidItems = new Dictionary(true);
_local1 = 0;
for each (_local2 in _local13) {
_local11 = (_local1 % _local6);
_local12 = ((_local1 / _local6) << 0);
_local20 = false;
_local3 = _dataProvider.getItemAt(_local2);
if (_local15[_local3] != null){
_local20 = true;
_local4 = _local15[_local3];
delete _local15[_local3];
} else {
if (availableCellRenderers.length > 0){
_local4 = (availableCellRenderers.pop() as ICellRenderer);
} else {
_local4 = (getDisplayObjectInstance(getStyleValue("cellRenderer")) as ICellRenderer);
_local24 = (_local4 as Sprite);
if (_local24 != null){
_local24.addEventListener(MouseEvent.CLICK, handleCellRendererClick, false, 0, true);
_local24.addEventListener(MouseEvent.ROLL_OVER, handleCellRendererMouseEvent, false, 0, true);
_local24.addEventListener(MouseEvent.ROLL_OUT, handleCellRendererMouseEvent, false, 0, true);
_local24.addEventListener(Event.CHANGE, handleCellRendererChange, false, 0, true);
_local24.doubleClickEnabled = true;
_local24.addEventListener(MouseEvent.DOUBLE_CLICK, handleCellRendererDoubleClick, false, 0, true);
if (_local24["setStyle"] != null){
for (_local25 in rendererStyles) {
var _local31 = _local24;
_local31["setStyle"](_local25, rendererStyles[_local25]);
};
};
};
};
};
list.addChild((_local4 as Sprite));
activeCellRenderers.push(_local4);
_local4.y = (_local8 * _local12);
_local4.x = (_local7 * _local11);
_local4.setSize(columnWidth, rowHeight);
_local21 = itemToLabel(_local3);
_local22 = null;
if (_iconFunction != null){
_local22 = _iconFunction(_local3);
} else {
if (_iconField != null){
_local22 = _local3[_iconField];
};
};
_local23 = null;
if (_sourceFunction != null){
_local23 = _sourceFunction(_local3);
} else {
if (_sourceField != null){
_local23 = _local3[_sourceField];
};
};
if (!_local20){
_local4.data = _local3;
};
_local4.listData = (new TileListData(_local21, _local22, _local23, this, _local2, (_local10 + _local12), (_local9 + _local11)) as ListData);
_local4.selected = !((_selectedIndices.indexOf(_local2) == -1));
if ((_local4 is UIComponent)){
_local26 = (_local4 as UIComponent);
_local26.drawNow();
};
_local1++;
};
}
public function get columnWidth():Number{
return (_columnWidth);
}
public function set iconField(_arg1:String):void{
if (_arg1 == _iconField){
return;
};
_iconField = _arg1;
invalidate(InvalidationType.DATA);
}
public function set columnWidth(_arg1:Number):void{
if (_columnWidth == _arg1){
return;
};
_columnWidth = _arg1;
invalidate(InvalidationType.SIZE);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:int;
_arg1.stopPropagation();
if (!selectable){
return;
};
switch (_arg1.keyCode){
case Keyboard.UP:
case Keyboard.DOWN:
moveSelectionVertically(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
break;
case Keyboard.PAGE_UP:
case Keyboard.PAGE_DOWN:
case Keyboard.END:
case Keyboard.HOME:
if (_scrollDirection == ScrollBarDirection.HORIZONTAL){
moveSelectionHorizontally(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
} else {
moveSelectionVertically(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
};
break;
case Keyboard.LEFT:
case Keyboard.RIGHT:
moveSelectionHorizontally(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
break;
default:
_local2 = getNextIndexAtLetter(String.fromCharCode(_arg1.keyCode), selectedIndex);
if (_local2 > -1){
selectedIndex = _local2;
scrollToSelected();
};
break;
};
}
override public function get horizontalScrollPolicy():String{
return (null);
}
public function set scrollPolicy(_arg1:String):void{
if (((!(componentInspectorSetting)) && ((_scrollPolicy == _arg1)))){
return;
};
_scrollPolicy = _arg1;
if (direction == ScrollBarDirection.HORIZONTAL){
_horizontalScrollPolicy = _arg1;
_verticalScrollPolicy = ScrollPolicy.OFF;
} else {
_verticalScrollPolicy = _arg1;
_horizontalScrollPolicy = ScrollPolicy.OFF;
};
invalidate(InvalidationType.SIZE);
}
public function set labelField(_arg1:String):void{
if (_arg1 == _labelField){
return;
};
_labelField = _arg1;
invalidate(InvalidationType.DATA);
}
override public function get verticalScrollPolicy():String{
return (null);
}
public function get innerWidth():Number{
var _local1:Number;
drawNow();
_local1 = (getStyleValue("contentPadding") as Number);
return (((width - (_local1 * 2)) - (_verticalScrollBar.visible) ? _verticalScrollBar.width : 0));
}
protected function calculateAvailableHeight():Number{
var _local1:Number;
_local1 = Number(getStyleValue("contentPadding"));
return (((height - (_local1 * 2)) - ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0));
}
public function get sourceFunction():Function{
return (_sourceFunction);
}
override protected function moveSelectionHorizontally(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
var _local4:uint;
var _local5:int;
var _local6:int;
var _local7:*;
_local4 = Math.ceil((Math.max((rowCount * columnCount), length) / rowCount));
switch (_arg1){
case Keyboard.LEFT:
_local5 = Math.max(0, (selectedIndex - 1));
break;
case Keyboard.RIGHT:
_local5 = Math.min((length - 1), (selectedIndex + 1));
break;
case Keyboard.HOME:
_local5 = 0;
break;
case Keyboard.END:
_local5 = (length - 1);
break;
case Keyboard.PAGE_UP:
_local6 = (selectedIndex - (selectedIndex % _local4));
_local5 = Math.max(0, Math.max(_local6, (selectedIndex - columnCount)));
break;
case Keyboard.PAGE_DOWN:
_local7 = (((selectedIndex - (selectedIndex % _local4)) + _local4) - 1);
_local5 = Math.min((length - 1), Math.min(_local7, (selectedIndex + _local4)));
break;
};
doKeySelection(_local5, _arg2, _arg3);
scrollToSelected();
}
override protected function draw():void{
var _local1:Boolean;
if (direction == ScrollBarDirection.VERTICAL){
if (__rowCount > 0){
rowCount = __rowCount;
};
if (__columnCount > 0){
columnCount = __columnCount;
};
} else {
if (__columnCount > 0){
columnCount = __columnCount;
};
if (__rowCount > 0){
rowCount = __rowCount;
};
};
_local1 = !((oldLength == length));
oldLength = length;
if (isInvalid(InvalidationType.STYLES)){
setStyles();
drawBackground();
if (contentPadding != getStyleValue("contentPadding")){
invalidate(InvalidationType.SIZE, false);
};
if (_cellRenderer != getStyleValue("cellRenderer")){
_invalidateList();
_cellRenderer = getStyleValue("cellRenderer");
};
};
if (((isInvalid(InvalidationType.SIZE, InvalidationType.STATE)) || (_local1))){
drawLayout();
};
if (isInvalid(InvalidationType.RENDERER_STYLES)){
updateRendererStyles();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.SIZE, InvalidationType.DATA, InvalidationType.SCROLL, InvalidationType.SELECTED)){
drawList();
_maxHorizontalScrollPosition = Math.max(0, (contentWidth - availableWidth));
};
updateChildren();
validate();
}
override public function set horizontalScrollPolicy(_arg1:String):void{
}
override protected function configUI():void{
super.configUI();
_horizontalScrollPolicy = scrollPolicy;
_verticalScrollPolicy = ScrollPolicy.OFF;
}
override protected function drawLayout():void{
var _local1:uint;
var _local2:uint;
_horizontalScrollPolicy = ((_scrollDirection)==ScrollBarDirection.HORIZONTAL) ? _scrollPolicy : ScrollPolicy.OFF;
_verticalScrollPolicy = ((_scrollDirection)!=ScrollBarDirection.HORIZONTAL) ? _scrollPolicy : ScrollPolicy.OFF;
if (_scrollDirection == ScrollBarDirection.HORIZONTAL){
_local1 = rowCount;
contentHeight = (_local1 * _rowHeight);
contentWidth = (_columnWidth * Math.ceil((length / _local1)));
} else {
_local2 = columnCount;
contentWidth = (_local2 * _columnWidth);
contentHeight = (_rowHeight * Math.ceil((length / _local2)));
};
super.drawLayout();
}
public function get sourceField():String{
return (_sourceField);
}
override public function get maxHorizontalScrollPosition():Number{
drawNow();
return (_maxHorizontalScrollPosition);
}
public function set labelFunction(_arg1:Function):void{
if (_labelFunction == _arg1){
return;
};
_labelFunction = _arg1;
invalidate(InvalidationType.DATA);
}
override public function set verticalScrollPolicy(_arg1:String):void{
}
protected function doKeySelection(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
var _local4:Array;
var _local5:Boolean;
var _local6:uint;
var _local7:int;
_local4 = selectedIndices;
_local5 = false;
if ((((_arg1 < 0)) || ((_arg1 > (length - 1))))){
} else {
if (((((_arg2) && ((_local4.length > 0)))) && (!((_arg1 == _local4[0]))))){
_local6 = _local4[0];
_local4 = [];
if (_arg1 < _local6){
_local7 = _local6;
while (_local7 >= _arg1) {
_local4.push(_local7);
_local7--;
};
} else {
_local7 = _local6;
while (_local7 <= _arg1) {
_local4.push(_local7);
_local7++;
};
};
_local5 = true;
} else {
_local4 = [_arg1];
caretIndex = _arg1;
_local5 = true;
};
};
selectedIndices = _local4;
if (_local5){
dispatchEvent(new Event(Event.CHANGE));
};
invalidate(InvalidationType.DATA);
}
public function set sourceFunction(_arg1:Function):void{
_sourceFunction = _arg1;
invalidate(InvalidationType.DATA);
}
public function get scrollPolicy():String{
return (_scrollPolicy);
}
public function get labelField():String{
return (_labelField);
}
override protected function moveSelectionVertically(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:int;
var _local8:int;
_local4 = Math.max(1, ((Math.max(contentHeight, availableHeight) / _rowHeight) << 0));
_local5 = Math.ceil((Math.max((columnCount * rowCount), length) / _local4));
_local6 = Math.ceil((length / _local5));
switch (_arg1){
case Keyboard.UP:
_local7 = (selectedIndex - _local5);
break;
case Keyboard.DOWN:
_local7 = (selectedIndex + _local5);
break;
case Keyboard.HOME:
_local7 = 0;
break;
case Keyboard.END:
_local7 = (length - 1);
break;
case Keyboard.PAGE_DOWN:
_local8 = (selectedIndex + (_local5 * (_local6 - 1)));
if (_local8 >= length){
_local8 = (_local8 - _local5);
};
_local7 = Math.min((length - 1), _local8);
break;
case Keyboard.PAGE_UP:
_local8 = (selectedIndex - (_local5 * (_local6 - 1)));
if (_local8 < 0){
_local8 = (_local8 + _local5);
};
_local7 = Math.max(0, _local8);
break;
};
doKeySelection(_local7, _arg2, _arg3);
scrollToSelected();
}
override public function itemToLabel(_arg1:Object):String{
if (_labelFunction != null){
return (String(_labelFunction(_arg1)));
};
if (_arg1[_labelField] == null){
return ("");
};
return (String(_arg1[_labelField]));
}
public function set rowCount(_arg1:uint):void{
var _local2:Number;
var _local3:*;
if (_arg1 == 0){
return;
};
if (componentInspectorSetting){
__rowCount = _arg1;
return;
};
__rowCount = 0;
_local2 = Number(getStyleValue("contentPadding"));
_local3 = (((((Math.ceil((length / _arg1)) > ((width / columnWidth) >> 0))) && ((_scrollPolicy == ScrollPolicy.AUTO)))) || ((_scrollPolicy == ScrollPolicy.ON)));
height = (((rowHeight * _arg1) + (2 * _local2)) + ((((_scrollDirection == ScrollBarDirection.HORIZONTAL)) && (_local3))) ? ScrollBar.WIDTH : 0);
}
public function set columnCount(_arg1:uint):void{
var _local2:Number;
var _local3:Boolean;
if (_arg1 == 0){
return;
};
if (componentInspectorSetting){
__columnCount = _arg1;
return;
};
__columnCount = 0;
_local2 = Number(getStyleValue("contentPadding"));
_local3 = (((((Math.ceil((length / _arg1)) > ((height / rowHeight) >> 0))) && ((_scrollPolicy == ScrollPolicy.AUTO)))) || ((_scrollPolicy == ScrollPolicy.ON)));
width = (((columnWidth * _arg1) + (2 * _local2)) + ((((_scrollDirection == ScrollBarDirection.VERTICAL)) && (_local3))) ? 15 : 0);
}
override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
invalidate(InvalidationType.SCROLL);
super.setHorizontalScrollPosition(_arg1, true);
}
public function set iconFunction(_arg1:Function):void{
if (_iconFunction == _arg1){
return;
};
_iconFunction = _arg1;
invalidate(InvalidationType.DATA);
}
public function get labelFunction():Function{
return (_labelFunction);
}
public function set direction(_arg1:String):void{
if (_scrollDirection == _arg1){
return;
};
_scrollDirection = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get innerHeight():Number{
var _local1:Number;
drawNow();
_local1 = (getStyleValue("contentPadding") as Number);
return (((height - (_local1 * 2)) - (_horizontalScrollBar.visible) ? _horizontalScrollBar.height : 0));
}
override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
invalidate(InvalidationType.SCROLL);
super.setVerticalScrollPosition(_arg1, true);
}
public function set sourceField(_arg1:String):void{
_sourceField = _arg1;
invalidate(InvalidationType.DATA);
}
override public function get rowCount():uint{
var _local1:Number;
var _local2:uint;
var _local3:uint;
_local1 = Number(getStyleValue("contentPadding"));
_local2 = Math.max(1, (((_width - (2 * _local1)) / _columnWidth) << 0));
_local3 = Math.max(1, (((_height - (2 * _local1)) / _rowHeight) << 0));
if (_scrollDirection == ScrollBarDirection.HORIZONTAL){
if ((((_scrollPolicy == ScrollPolicy.ON)) || ((((_scrollPolicy == ScrollPolicy.AUTO)) && ((length > (_local2 * _local3))))))){
_local3 = Math.max(1, ((((_height - (2 * _local1)) - 15) / _rowHeight) << 0));
};
} else {
_local3 = Math.max(1, Math.ceil(((_height - (2 * _local1)) / _rowHeight)));
};
return (_local3);
}
public function set rowHeight(_arg1:Number):void{
if (_rowHeight == _arg1){
return;
};
_rowHeight = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get columnCount():uint{
var _local1:Number;
var _local2:uint;
var _local3:uint;
_local1 = Number(getStyleValue("contentPadding"));
_local2 = Math.max(1, (((_width - (2 * _local1)) / _columnWidth) << 0));
_local3 = Math.max(1, (((_height - (2 * _local1)) / _rowHeight) << 0));
if (_scrollDirection != ScrollBarDirection.HORIZONTAL){
if ((((_scrollPolicy == ScrollPolicy.ON)) || ((((_scrollPolicy == ScrollPolicy.AUTO)) && ((length > (_local2 * _local3))))))){
_local2 = Math.max(1, ((((_width - (2 * _local1)) - 15) / _columnWidth) << 0));
};
} else {
_local2 = Math.max(1, Math.ceil(((_width - (2 * _local1)) / _columnWidth)));
};
return (_local2);
}
public function get iconFunction():Function{
return (_iconFunction);
}
override public function set dataProvider(_arg1:DataProvider):void{
super.dataProvider = _arg1;
}
public function get direction():String{
return (_scrollDirection);
}
override public function scrollToIndex(_arg1:int):void{
var _local2:uint;
var _local3:Number;
var _local4:Number;
drawNow();
_local2 = Math.max(1, ((contentWidth / _columnWidth) << 0));
if (_scrollDirection == ScrollBarDirection.VERTICAL){
if (rowHeight > availableHeight){
return;
};
_local3 = (((_arg1 / _local2) >> 0) * rowHeight);
if (_local3 < verticalScrollPosition){
verticalScrollPosition = _local3;
} else {
if (_local3 > ((verticalScrollPosition + availableHeight) - rowHeight)){
verticalScrollPosition = ((_local3 + rowHeight) - availableHeight);
};
};
} else {
if (columnWidth > availableWidth){
return;
};
_local4 = ((_arg1 % _local2) * columnWidth);
if (_local4 < horizontalScrollPosition){
horizontalScrollPosition = _local4;
} else {
if (_local4 > ((horizontalScrollPosition + availableWidth) - columnWidth)){
horizontalScrollPosition = ((_local4 + columnWidth) - availableWidth);
};
};
};
}
override protected function initializeAccessibility():void{
if (TileList.createAccessibilityImplementation != null){
TileList.createAccessibilityImplementation(this);
};
}
public function get rowHeight():Number{
return (_rowHeight);
}
override public function get dataProvider():DataProvider{
return (super.dataProvider);
}
override public function set maxHorizontalScrollPosition(_arg1:Number):void{
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, SelectableList.getStyleDefinition(), ScrollBar.getStyleDefinition()));
}
}
}//package fl.controls
Section 42
//UIScrollBar (fl.controls.UIScrollBar)
package fl.controls {
import fl.core.*;
import flash.events.*;
import fl.events.*;
import flash.text.*;
public class UIScrollBar extends ScrollBar {
protected var inScroll:Boolean;// = false
protected var _scrollTarget:TextField;
protected var inEdit:Boolean;// = false
private static var defaultStyles:Object = {};
public function UIScrollBar(){
inEdit = false;
inScroll = false;
super();
}
protected function handleTargetScroll(_arg1:Event):void{
if (inDrag){
return;
};
if (!enabled){
return;
};
inEdit = true;
updateScrollTargetProperties();
scrollPosition = ((direction)==ScrollBarDirection.HORIZONTAL) ? _scrollTarget.scrollH : _scrollTarget.scrollV;
inEdit = false;
}
override public function set minScrollPosition(_arg1:Number):void{
super.minScrollPosition = ((_arg1)<0) ? 0 : _arg1;
}
override public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{
super.setScrollPosition(_arg1, _arg2);
if (!_scrollTarget){
inScroll = false;
return;
};
updateTargetScroll();
}
override public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{
var _local5:Number;
var _local6:Number;
_local5 = _arg3;
_local6 = ((_arg2)<0) ? 0 : _arg2;
if (_scrollTarget != null){
if (direction == ScrollBarDirection.HORIZONTAL){
_local5 = ((_arg3)>_scrollTarget.maxScrollH) ? _scrollTarget.maxScrollH : _local5;
} else {
_local5 = ((_arg3)>_scrollTarget.maxScrollV) ? _scrollTarget.maxScrollV : _local5;
};
};
super.setScrollProperties(_arg1, _local6, _local5, _arg4);
}
public function get scrollTargetName():String{
return (_scrollTarget.name);
}
public function get scrollTarget():TextField{
return (_scrollTarget);
}
protected function updateScrollTargetProperties():void{
var _local1:Boolean;
var _local2:Number;
if (_scrollTarget == null){
setScrollProperties(pageSize, minScrollPosition, maxScrollPosition, pageScrollSize);
scrollPosition = 0;
} else {
_local1 = (direction == ScrollBarDirection.HORIZONTAL);
_local2 = (_local1) ? _scrollTarget.width : 10;
setScrollProperties(_local2, (_local1) ? 0 : 1, (_local1) ? _scrollTarget.maxScrollH : _scrollTarget.maxScrollV, pageScrollSize);
scrollPosition = (_local1) ? _scrollTarget.scrollH : _scrollTarget.scrollV;
};
}
public function update():void{
inEdit = true;
updateScrollTargetProperties();
inEdit = false;
}
public function set scrollTargetName(_arg1:String):void{
var target = _arg1;
try {
scrollTarget = (parent.getChildByName(target) as TextField);
} catch(error:Error) {
throw (new Error("ScrollTarget not found, or is not a TextField"));
};
}
override public function set direction(_arg1:String):void{
if (isLivePreview){
return;
};
super.direction = _arg1;
updateScrollTargetProperties();
}
protected function handleTargetChange(_arg1:Event):void{
inEdit = true;
setScrollPosition(((direction)==ScrollBarDirection.HORIZONTAL) ? _scrollTarget.scrollH : _scrollTarget.scrollV, true);
updateScrollTargetProperties();
inEdit = false;
}
override public function set maxScrollPosition(_arg1:Number):void{
var _local2:Number;
_local2 = _arg1;
if (_scrollTarget != null){
if (direction == ScrollBarDirection.HORIZONTAL){
_local2 = ((_local2)>_scrollTarget.maxScrollH) ? _scrollTarget.maxScrollH : _local2;
} else {
_local2 = ((_local2)>_scrollTarget.maxScrollV) ? _scrollTarget.maxScrollV : _local2;
};
};
super.maxScrollPosition = _local2;
}
protected function updateTargetScroll(_arg1:ScrollEvent=null):void{
if (inEdit){
return;
};
if (direction == ScrollBarDirection.HORIZONTAL){
_scrollTarget.scrollH = scrollPosition;
} else {
_scrollTarget.scrollV = scrollPosition;
};
}
override protected function draw():void{
if (isInvalid(InvalidationType.DATA)){
updateScrollTargetProperties();
};
super.draw();
}
public function set scrollTarget(_arg1:TextField):void{
if (_scrollTarget != null){
_scrollTarget.removeEventListener(Event.CHANGE, handleTargetChange, false);
_scrollTarget.removeEventListener(TextEvent.TEXT_INPUT, handleTargetChange, false);
_scrollTarget.removeEventListener(Event.SCROLL, handleTargetScroll, false);
removeEventListener(ScrollEvent.SCROLL, updateTargetScroll, false);
};
_scrollTarget = _arg1;
if (_scrollTarget != null){
_scrollTarget.addEventListener(Event.CHANGE, handleTargetChange, false, 0, true);
_scrollTarget.addEventListener(TextEvent.TEXT_INPUT, handleTargetChange, false, 0, true);
_scrollTarget.addEventListener(Event.SCROLL, handleTargetScroll, false, 0, true);
addEventListener(ScrollEvent.SCROLL, updateTargetScroll, false, 0, true);
};
invalidate(InvalidationType.DATA);
}
override public function get direction():String{
return (super.direction);
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(defaultStyles, ScrollBar.getStyleDefinition()));
}
}
}//package fl.controls
Section 43
//ComponentShim (fl.core.ComponentShim)
package fl.core {
import flash.display.*;
public dynamic class ComponentShim extends MovieClip {
}
}//package fl.core
Section 44
//InvalidationType (fl.core.InvalidationType)
package fl.core {
public class InvalidationType {
public static const SIZE:String = "size";
public static const ALL:String = "all";
public static const DATA:String = "data";
public static const SCROLL:String = "scroll";
public static const STATE:String = "state";
public static const STYLES:String = "styles";
public static const SELECTED:String = "selected";
public static const RENDERER_STYLES:String = "rendererStyles";
}
}//package fl.core
Section 45
//UIComponent (fl.core.UIComponent)
package fl.core {
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
public class UIComponent extends Sprite {
protected var _enabled:Boolean;// = true
private var _mouseFocusEnabled:Boolean;// = true
protected var startHeight:Number;
protected var _height:Number;
protected var _oldIMEMode:String;// = null
protected var startWidth:Number;
public var focusTarget:IFocusManagerComponent;
protected var errorCaught:Boolean;// = false
protected var uiFocusRect:DisplayObject;
protected var _width:Number;
public var version:String;// = "3.0.0.15"
protected var isFocused:Boolean;// = false
protected var callLaterMethods:Dictionary;
private var _focusEnabled:Boolean;// = true
private var tempText:TextField;
protected var invalidateFlag:Boolean;// = false
protected var _inspector:Boolean;// = false
protected var sharedStyles:Object;
protected var invalidHash:Object;
protected var isLivePreview:Boolean;// = false
protected var _imeMode:String;// = null
protected var instanceStyles:Object;
protected var _x:Number;
protected var _y:Number;
public static var inCallLaterPhase:Boolean = false;
private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)};
public static var createAccessibilityImplementation:Function;
private static var focusManagers:Dictionary = new Dictionary(false);
public function UIComponent(){
version = "3.0.0.15";
isLivePreview = false;
invalidateFlag = false;
_enabled = true;
isFocused = false;
_focusEnabled = true;
_mouseFocusEnabled = true;
_imeMode = null;
_oldIMEMode = null;
errorCaught = false;
_inspector = false;
super();
instanceStyles = {};
sharedStyles = {};
invalidHash = {};
callLaterMethods = new Dictionary();
StyleManager.registerInstance(this);
configUI();
invalidate(InvalidationType.ALL);
tabEnabled = (this is IFocusManagerComponent);
focusRect = false;
if (tabEnabled){
addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
};
initializeFocusManager();
addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true);
}
public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
isFocused = _arg1;
if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){
removeChild(uiFocusRect);
uiFocusRect = null;
};
if (_arg1){
uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite);
if (uiFocusRect == null){
return;
};
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = -(_local2);
uiFocusRect.y = -(_local2);
uiFocusRect.width = (width + (_local2 * 2));
uiFocusRect.height = (height + (_local2 * 2));
addChildAt(uiFocusRect, 0);
};
}
private function callLaterDispatcher(_arg1:Event):void{
var _local2:Dictionary;
var _local3:Object;
if (_arg1.type == Event.ADDED_TO_STAGE){
removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher);
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
return;
};
_arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher);
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
return;
};
inCallLaterPhase = true;
_local2 = callLaterMethods;
for (_local3 in _local2) {
_local3();
delete _local2[_local3];
};
inCallLaterPhase = false;
}
private function addedHandler(_arg1:Event):void{
removeEventListener("addedToStage", addedHandler);
initializeFocusManager();
}
protected function getStyleValue(_arg1:String):Object{
return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]);
}
protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((_arg1 == this));
}
override public function get scaleX():Number{
return ((width / startWidth));
}
override public function get scaleY():Number{
return ((height / startHeight));
}
override public function set height(_arg1:Number):void{
if (_height == _arg1){
return;
};
setSize(width, _arg1);
}
protected function keyDownHandler(_arg1:KeyboardEvent):void{
}
protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (isOurFocus((_arg1.target as DisplayObject))){
_local2 = focusManager;
if (((_local2) && (_local2.showFocusIndicator))){
drawFocus(true);
isFocused = true;
};
};
}
public function setStyle(_arg1:String, _arg2:Object):void{
if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
instanceStyles[_arg1] = _arg2;
invalidate(InvalidationType.STYLES);
}
override public function get visible():Boolean{
return (super.visible);
}
public function get componentInspectorSetting():Boolean{
return (_inspector);
}
override public function get x():Number{
return ((isNaN(_x)) ? super.x : _x);
}
override public function get y():Number{
return ((isNaN(_y)) ? super.y : _y);
}
protected function setIMEMode(_arg1:Boolean){
var enabled = _arg1;
if (_imeMode != null){
if (enabled){
IME.enabled = true;
_oldIMEMode = IME.conversionMode;
try {
if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _imeMode;
};
errorCaught = false;
} catch(e:Error) {
errorCaught = true;
throw (new Error(("IME mode not supported: " + _imeMode)));
};
} else {
if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _oldIMEMode;
};
IME.enabled = false;
};
};
}
public function set enabled(_arg1:Boolean):void{
if (_arg1 == _enabled){
return;
};
_enabled = _arg1;
invalidate(InvalidationType.STATE);
}
public function setSharedStyle(_arg1:String, _arg2:Object):void{
if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
sharedStyles[_arg1] = _arg2;
if (instanceStyles[_arg1] == null){
invalidate(InvalidationType.STYLES);
};
}
protected function keyUpHandler(_arg1:KeyboardEvent):void{
}
public function set focusEnabled(_arg1:Boolean):void{
_focusEnabled = _arg1;
}
override public function set scaleX(_arg1:Number):void{
setSize((startWidth * _arg1), height);
}
public function get mouseFocusEnabled():Boolean{
return (_mouseFocusEnabled);
}
override public function set scaleY(_arg1:Number):void{
setSize(width, (startHeight * _arg1));
}
protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{
var classDef:Object;
var skin = _arg1;
classDef = null;
if ((skin is Class)){
return ((new (skin) as DisplayObject));
};
if ((skin is DisplayObject)){
(skin as DisplayObject).x = 0;
(skin as DisplayObject).y = 0;
return ((skin as DisplayObject));
};
try {
classDef = getDefinitionByName(skin.toString());
} catch(e:Error) {
try {
classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object);
} catch(e:Error) {
};
};
if (classDef == null){
return (null);
};
return ((new (classDef) as DisplayObject));
}
protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{
var _local3:String;
for (_local3 in _arg2) {
_arg1.setStyle(_local3, getStyleValue(_arg2[_local3]));
};
}
protected function beforeComponentParameters():void{
}
protected function callLater(_arg1:Function):void{
if (inCallLaterPhase){
return;
};
callLaterMethods[_arg1] = true;
if (stage != null){
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
} else {
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
};
}
protected function createFocusManager():void{
if (focusManagers[stage] == null){
focusManagers[stage] = new FocusManager(stage);
};
}
override public function set visible(_arg1:Boolean):void{
var _local2:String;
if (super.visible == _arg1){
return;
};
super.visible = _arg1;
_local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE;
dispatchEvent(new ComponentEvent(_local2, true));
}
protected function hookAccessibility(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, hookAccessibility);
initializeAccessibility();
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_inspector = _arg1;
if (_inspector){
beforeComponentParameters();
} else {
afterComponentParameters();
};
}
override public function set x(_arg1:Number):void{
move(_arg1, _y);
}
public function drawNow():void{
draw();
}
override public function set y(_arg1:Number):void{
move(_x, _arg1);
}
protected function checkLivePreview():Boolean{
var className:String;
if (parent == null){
return (false);
};
try {
className = getQualifiedClassName(parent);
} catch(e:Error) {
};
return ((className == "fl.livepreview::LivePreviewParent"));
}
protected function focusOutHandler(_arg1:FocusEvent):void{
if (isOurFocus((_arg1.target as DisplayObject))){
drawFocus(false);
isFocused = false;
};
}
public function set mouseFocusEnabled(_arg1:Boolean):void{
_mouseFocusEnabled = _arg1;
}
public function getFocus():InteractiveObject{
if (stage){
return (stage.focus);
};
return (null);
}
protected function validate():void{
invalidHash = {};
}
override public function get height():Number{
return (_height);
}
public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{
invalidHash[_arg1] = true;
if (_arg2){
this.callLater(draw);
};
}
public function get enabled():Boolean{
return (_enabled);
}
protected function getScaleX():Number{
return (super.scaleX);
}
protected function getScaleY():Number{
return (super.scaleY);
}
public function get focusEnabled():Boolean{
return (_focusEnabled);
}
protected function afterComponentParameters():void{
}
protected function draw():void{
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
protected function configUI():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
isLivePreview = checkLivePreview();
_local1 = rotation;
rotation = 0;
_local2 = super.width;
_local3 = super.height;
var _local4 = 1;
super.scaleY = _local4;
super.scaleX = _local4;
setSize(_local2, _local3);
move(super.x, super.y);
rotation = _local1;
startWidth = _local2;
startHeight = _local3;
if (numChildren > 0){
removeChildAt(0);
};
}
protected function setScaleX(_arg1:Number):void{
super.scaleX = _arg1;
}
protected function setScaleY(_arg1:Number):void{
super.scaleY = _arg1;
}
private function initializeFocusManager():void{
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true);
} else {
createFocusManager();
};
}
public function set focusManager(_arg1:IFocusManager):void{
UIComponent.focusManagers[this] = _arg1;
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
protected function isInvalid(_arg1:String, ... _args):Boolean{
if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){
return (true);
};
while (_args.length > 0) {
if (invalidHash[_args.pop()]){
return (true);
};
};
return (false);
}
public function setSize(_arg1:Number, _arg2:Number):void{
_width = _arg1;
_height = _arg2;
invalidate(InvalidationType.SIZE);
dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false));
}
override public function set width(_arg1:Number):void{
if (_width == _arg1){
return;
};
setSize(_arg1, height);
}
public function setFocus():void{
if (stage){
stage.focus = this;
};
}
protected function initializeAccessibility():void{
if (UIComponent.createAccessibilityImplementation != null){
UIComponent.createAccessibilityImplementation(this);
};
}
public function get focusManager():IFocusManager{
var _local1:DisplayObject;
_local1 = this;
while (_local1) {
if (UIComponent.focusManagers[_local1] != null){
return (IFocusManager(UIComponent.focusManagers[_local1]));
};
_local1 = _local1.parent;
};
return (null);
}
override public function get width():Number{
return (_width);
}
public function move(_arg1:Number, _arg2:Number):void{
_x = _arg1;
_y = _arg2;
super.x = Math.round(_arg1);
super.y = Math.round(_arg2);
dispatchEvent(new ComponentEvent(ComponentEvent.MOVE));
}
public function validateNow():void{
invalidate(InvalidationType.ALL, false);
draw();
}
public function getStyle(_arg1:String):Object{
return (instanceStyles[_arg1]);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
public static function mergeStyles(... _args):Object{
var _local2:Object;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:String;
_local2 = {};
_local3 = _args.length;
_local4 = 0;
while (_local4 < _local3) {
_local5 = _args[_local4];
for (_local6 in _local5) {
if (_local2[_local6] != null){
} else {
_local2[_local6] = _args[_local4][_local6];
};
};
_local4++;
};
return (_local2);
}
}
}//package fl.core
Section 46
//DataProvider (fl.data.DataProvider)
package fl.data {
import flash.events.*;
import fl.events.*;
public class DataProvider extends EventDispatcher {
protected var data:Array;
public function DataProvider(_arg1:Object=null){
if (_arg1 == null){
data = [];
} else {
data = getDataFromObject(_arg1);
};
}
protected function dispatchPreChangeEvent(_arg1:String, _arg2:Array, _arg3:int, _arg4:int):void{
dispatchEvent(new DataChangeEvent(DataChangeEvent.PRE_DATA_CHANGE, _arg1, _arg2, _arg3, _arg4));
}
public function invalidateItemAt(_arg1:int):void{
checkIndex(_arg1, (data.length - 1));
dispatchChangeEvent(DataChangeType.INVALIDATE, [data[_arg1]], _arg1, _arg1);
}
public function getItemIndex(_arg1:Object):int{
return (data.indexOf(_arg1));
}
protected function getDataFromObject(_arg1:Object):Array{
var _local2:Array;
var _local3:Array;
var _local4:uint;
var _local5:Object;
var _local6:XML;
var _local7:XMLList;
var _local8:XML;
var _local9:XMLList;
var _local10:XML;
var _local11:XMLList;
var _local12:XML;
if ((_arg1 is Array)){
_local3 = (_arg1 as Array);
if (_local3.length > 0){
if ((((_local3[0] is String)) || ((_local3[0] is Number)))){
_local2 = [];
_local4 = 0;
while (_local4 < _local3.length) {
_local5 = {label:String(_local3[_local4]), data:_local3[_local4]};
_local2.push(_local5);
_local4++;
};
return (_local2);
};
};
return (_arg1.concat());
//unresolved jump
};
if ((_arg1 is DataProvider)){
return (_arg1.toArray());
};
if ((_arg1 is XML)){
_local6 = (_arg1 as XML);
_local2 = [];
_local7 = _local6.*;
for each (_local8 in _local7) {
_arg1 = {};
_local9 = _local8.attributes();
for each (_local10 in _local9) {
_arg1[_local10.localName()] = _local10.toString();
};
_local11 = _local8.*;
for each (_local12 in _local11) {
if (_local12.hasSimpleContent()){
_arg1[_local12.localName()] = _local12.toString();
};
};
_local2.push(_arg1);
};
return (_local2);
//unresolved jump
};
throw (new TypeError((("Error: Type Coercion failed: cannot convert " + _arg1) + " to Array or DataProvider.")));
}
public function removeItemAt(_arg1:uint):Object{
var _local2:Array;
checkIndex(_arg1, (data.length - 1));
dispatchPreChangeEvent(DataChangeType.REMOVE, data.slice(_arg1, (_arg1 + 1)), _arg1, _arg1);
_local2 = data.splice(_arg1, 1);
dispatchChangeEvent(DataChangeType.REMOVE, _local2, _arg1, _arg1);
return (_local2[0]);
}
public function addItem(_arg1:Object):void{
dispatchPreChangeEvent(DataChangeType.ADD, [_arg1], (data.length - 1), (data.length - 1));
data.push(_arg1);
dispatchChangeEvent(DataChangeType.ADD, [_arg1], (data.length - 1), (data.length - 1));
}
public function sortOn(_arg1:Object, _arg2:Object=null){
var _local3:Array;
dispatchPreChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
_local3 = data.sortOn(_arg1, _arg2);
dispatchChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
return (_local3);
}
public function sort(... _args){
var _local2:Array;
dispatchPreChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
_local2 = data.sort.apply(data, _args);
dispatchChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
return (_local2);
}
public function addItems(_arg1:Object):void{
addItemsAt(_arg1, data.length);
}
public function concat(_arg1:Object):void{
addItems(_arg1);
}
public function clone():DataProvider{
return (new DataProvider(data));
}
public function toArray():Array{
return (data.concat());
}
public function get length():uint{
return (data.length);
}
public function addItemAt(_arg1:Object, _arg2:uint):void{
checkIndex(_arg2, data.length);
dispatchPreChangeEvent(DataChangeType.ADD, [_arg1], _arg2, _arg2);
data.splice(_arg2, 0, _arg1);
dispatchChangeEvent(DataChangeType.ADD, [_arg1], _arg2, _arg2);
}
public function getItemAt(_arg1:uint):Object{
checkIndex(_arg1, (data.length - 1));
return (data[_arg1]);
}
override public function toString():String{
return ((("DataProvider [" + data.join(" , ")) + "]"));
}
public function invalidateItem(_arg1:Object):void{
var _local2:uint;
_local2 = getItemIndex(_arg1);
if (_local2 == -1){
return;
};
invalidateItemAt(_local2);
}
protected function dispatchChangeEvent(_arg1:String, _arg2:Array, _arg3:int, _arg4:int):void{
dispatchEvent(new DataChangeEvent(DataChangeEvent.DATA_CHANGE, _arg1, _arg2, _arg3, _arg4));
}
protected function checkIndex(_arg1:int, _arg2:int):void{
if ((((_arg1 > _arg2)) || ((_arg1 < 0)))){
throw (new RangeError((((("DataProvider index (" + _arg1) + ") is not in acceptable range (0 - ") + _arg2) + ")")));
};
}
public function addItemsAt(_arg1:Object, _arg2:uint):void{
var _local3:Array;
checkIndex(_arg2, data.length);
_local3 = getDataFromObject(_arg1);
dispatchPreChangeEvent(DataChangeType.ADD, _local3, _arg2, ((_arg2 + _local3.length) - 1));
data.splice.apply(data, [_arg2, 0].concat(_local3));
dispatchChangeEvent(DataChangeType.ADD, _local3, _arg2, ((_arg2 + _local3.length) - 1));
}
public function replaceItem(_arg1:Object, _arg2:Object):Object{
var _local3:int;
_local3 = getItemIndex(_arg2);
if (_local3 != -1){
return (replaceItemAt(_arg1, _local3));
};
return (null);
}
public function removeItem(_arg1:Object):Object{
var _local2:int;
_local2 = getItemIndex(_arg1);
if (_local2 != -1){
return (removeItemAt(_local2));
};
return (null);
}
public function merge(_arg1:Object):void{
var _local2:Array;
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:Object;
_local2 = getDataFromObject(_arg1);
_local3 = _local2.length;
_local4 = data.length;
dispatchPreChangeEvent(DataChangeType.ADD, data.slice(_local4, data.length), _local4, (this.data.length - 1));
_local5 = 0;
while (_local5 < _local3) {
_local6 = _local2[_local5];
if (getItemIndex(_local6) == -1){
data.push(_local6);
};
_local5++;
};
if (data.length > _local4){
dispatchChangeEvent(DataChangeType.ADD, data.slice(_local4, data.length), _local4, (this.data.length - 1));
} else {
dispatchChangeEvent(DataChangeType.ADD, [], -1, -1);
};
}
public function replaceItemAt(_arg1:Object, _arg2:uint):Object{
var _local3:Array;
checkIndex(_arg2, (data.length - 1));
_local3 = [data[_arg2]];
dispatchPreChangeEvent(DataChangeType.REPLACE, _local3, _arg2, _arg2);
data[_arg2] = _arg1;
dispatchChangeEvent(DataChangeType.REPLACE, _local3, _arg2, _arg2);
return (_local3[0]);
}
public function invalidate():void{
dispatchEvent(new DataChangeEvent(DataChangeEvent.DATA_CHANGE, DataChangeType.INVALIDATE_ALL, data.concat(), 0, data.length));
}
public function removeAll():void{
var _local1:Array;
_local1 = data.concat();
dispatchPreChangeEvent(DataChangeType.REMOVE_ALL, _local1, 0, _local1.length);
data = [];
dispatchChangeEvent(DataChangeType.REMOVE_ALL, _local1, 0, _local1.length);
}
}
}//package fl.data
Section 47
//SimpleCollectionItem (fl.data.SimpleCollectionItem)
package fl.data {
public dynamic class SimpleCollectionItem {
public var label:String;
public var data:String;
public function toString():String{
return ((((("[SimpleCollectionItem: " + label) + ",") + data) + "]"));
}
}
}//package fl.data
Section 48
//TileListCollectionItem (fl.data.TileListCollectionItem)
package fl.data {
public dynamic class TileListCollectionItem {
public var label:String;
public var source:String;
public function toString():String{
return ((((("[TileListCollectionItem: " + label) + ",") + source) + "]"));
}
}
}//package fl.data
Section 49
//ComponentEvent (fl.events.ComponentEvent)
package fl.events {
import flash.events.*;
public class ComponentEvent extends Event {
public static const HIDE:String = "hide";
public static const BUTTON_DOWN:String = "buttonDown";
public static const MOVE:String = "move";
public static const RESIZE:String = "resize";
public static const ENTER:String = "enter";
public static const LABEL_CHANGE:String = "labelChange";
public static const SHOW:String = "show";
public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("ComponentEvent", "type", "bubbles", "cancelable"));
}
override public function clone():Event{
return (new ComponentEvent(type, bubbles, cancelable));
}
}
}//package fl.events
Section 50
//DataChangeEvent (fl.events.DataChangeEvent)
package fl.events {
import flash.events.*;
public class DataChangeEvent extends Event {
protected var _items:Array;
protected var _endIndex:uint;
protected var _changeType:String;
protected var _startIndex:uint;
public static const PRE_DATA_CHANGE:String = "preDataChange";
public static const DATA_CHANGE:String = "dataChange";
public function DataChangeEvent(_arg1:String, _arg2:String, _arg3:Array, _arg4:int=-1, _arg5:int=-1):void{
super(_arg1);
_changeType = _arg2;
_startIndex = _arg4;
_items = _arg3;
_endIndex = ((_arg5)==-1) ? _startIndex : _arg5;
}
public function get changeType():String{
return (_changeType);
}
public function get startIndex():uint{
return (_startIndex);
}
public function get items():Array{
return (_items);
}
override public function clone():Event{
return (new DataChangeEvent(type, _changeType, _items, _startIndex, _endIndex));
}
override public function toString():String{
return (formatToString("DataChangeEvent", "type", "changeType", "startIndex", "endIndex", "bubbles", "cancelable"));
}
public function get endIndex():uint{
return (_endIndex);
}
}
}//package fl.events
Section 51
//DataChangeType (fl.events.DataChangeType)
package fl.events {
public class DataChangeType {
public static const ADD:String = "add";
public static const REMOVE:String = "remove";
public static const REMOVE_ALL:String = "removeAll";
public static const CHANGE:String = "change";
public static const REPLACE:String = "replace";
public static const INVALIDATE:String = "invalidate";
public static const INVALIDATE_ALL:String = "invalidateAll";
public static const SORT:String = "sort";
}
}//package fl.events
Section 52
//ListEvent (fl.events.ListEvent)
package fl.events {
import flash.events.*;
public class ListEvent extends Event {
protected var _index:int;
protected var _item:Object;
protected var _columnIndex:int;
protected var _rowIndex:int;
public static const ITEM_DOUBLE_CLICK:String = "itemDoubleClick";
public static const ITEM_ROLL_OUT:String = "itemRollOut";
public static const ITEM_ROLL_OVER:String = "itemRollOver";
public static const ITEM_CLICK:String = "itemClick";
public function ListEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:int=-1, _arg5:int=-1, _arg6:int=-1, _arg7:Object=null){
super(_arg1, _arg2, _arg3);
_rowIndex = _arg5;
_columnIndex = _arg4;
_index = _arg6;
_item = _arg7;
}
public function get rowIndex():Object{
return (_rowIndex);
}
public function get index():int{
return (_index);
}
public function get item():Object{
return (_item);
}
public function get columnIndex():int{
return (_columnIndex);
}
override public function clone():Event{
return (new ListEvent(type, bubbles, cancelable, _columnIndex, _rowIndex));
}
override public function toString():String{
return (formatToString("ListEvent", "type", "bubbles", "cancelable", "columnIndex", "rowIndex", "index", "item"));
}
}
}//package fl.events
Section 53
//ScrollEvent (fl.events.ScrollEvent)
package fl.events {
import flash.events.*;
public class ScrollEvent extends Event {
private var _position:Number;
private var _direction:String;
private var _delta:Number;
public static const SCROLL:String = "scroll";
public function ScrollEvent(_arg1:String, _arg2:Number, _arg3:Number){
super(ScrollEvent.SCROLL, false, false);
_direction = _arg1;
_delta = _arg2;
_position = _arg3;
}
override public function clone():Event{
return (new ScrollEvent(_direction, _delta, _position));
}
public function get position():Number{
return (_position);
}
override public function toString():String{
return (formatToString("ScrollEvent", "type", "bubbles", "cancelable", "direction", "delta", "position"));
}
public function get delta():Number{
return (_delta);
}
public function get direction():String{
return (_direction);
}
}
}//package fl.events
Section 54
//FocusManager (fl.managers.FocusManager)
package fl.managers {
import fl.core.*;
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
public class FocusManager implements IFocusManager {
private var focusableObjects:Dictionary;
private var _showFocusIndicator:Boolean;// = true
private var defButton:Button;
private var focusableCandidates:Array;
private var _form:DisplayObjectContainer;
private var _defaultButtonEnabled:Boolean;// = true
private var activated:Boolean;// = false
private var _defaultButton:Button;
private var calculateCandidates:Boolean;// = true
private var lastFocus:InteractiveObject;
private var lastAction:String;
public function FocusManager(_arg1:DisplayObjectContainer){
activated = false;
calculateCandidates = true;
_showFocusIndicator = true;
_defaultButtonEnabled = true;
super();
focusableObjects = new Dictionary(true);
if (_arg1 != null){
_form = _arg1;
addFocusables(DisplayObject(_arg1));
_arg1.addEventListener(Event.ADDED, addedHandler);
_arg1.addEventListener(Event.REMOVED, removedHandler);
activate();
};
}
public function get showFocusIndicator():Boolean{
return (_showFocusIndicator);
}
private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{
var _local5:int;
var _local6:int;
var _local7:DisplayObject;
var _local8:IFocusManagerGroup;
var _local9:int;
var _local10:DisplayObject;
var _local11:IFocusManagerGroup;
_local5 = focusableCandidates.length;
_local6 = _arg1;
while (true) {
if (_arg2){
_arg1--;
} else {
_arg1++;
};
if (_arg3){
if (((_arg2) && ((_arg1 < 0)))){
break;
};
if (((!(_arg2)) && ((_arg1 == _local5)))){
break;
};
} else {
_arg1 = ((_arg1 + _local5) % _local5);
if (_local6 == _arg1){
break;
};
};
if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){
_local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1]));
if ((_local7 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local7);
_local9 = 0;
while (_local9 < focusableCandidates.length) {
_local10 = focusableCandidates[_local9];
if ((_local10 is IFocusManagerGroup)){
_local11 = IFocusManagerGroup(_local10);
if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){
_arg1 = _local9;
break;
};
};
_local9++;
};
};
return (_arg1);
};
};
return (_arg1);
}
public function set form(_arg1:DisplayObjectContainer):void{
_form = _arg1;
}
private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{
var focusable:IFocusManagerComponent;
var io:InteractiveObject;
var doc:DisplayObjectContainer;
var i:int;
var child:DisplayObject;
var o = _arg1;
var skipTopLevel = _arg2;
if (!skipTopLevel){
if ((o is IFocusManagerComponent)){
focusable = IFocusManagerComponent(o);
if (focusable.focusEnabled){
if (((focusable.tabEnabled) && (isTabVisible(o)))){
focusableObjects[o] = true;
calculateCandidates = true;
};
o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
} else {
if ((o is InteractiveObject)){
io = (o as InteractiveObject);
if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){
focusableObjects[io] = true;
calculateCandidates = true;
};
io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
};
};
if ((o is DisplayObjectContainer)){
doc = DisplayObjectContainer(o);
o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){
i = 0;
while (i < doc.numChildren) {
try {
child = doc.getChildAt(i);
if (child != null){
addFocusables(doc.getChildAt(i));
};
} catch(error:SecurityError) {
};
i = (i + 1);
};
};
};
}
private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{
return (_arg1.getChildIndex(_arg2));
}
private function mouseFocusChangeHandler(_arg1:FocusEvent):void{
if ((_arg1.relatedObject is TextField)){
return;
};
_arg1.preventDefault();
}
private function focusOutHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
_local2 = (_arg1.target as InteractiveObject);
}
private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{
var _local3:IFocusManagerGroup;
if (!isEnabledAndVisible(_arg1)){
return (false);
};
if ((_arg1 is IFocusManagerGroup)){
_local3 = IFocusManagerGroup(_arg1);
if (_arg2 == _local3.groupName){
return (false);
};
};
return (true);
}
public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{
var _local2:InteractiveObject;
_local2 = _arg1;
while (_arg1) {
if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
};
return (_local2);
}
private function sortFocusableObjectsTabIndex():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){
focusableCandidates.push(_local2);
};
};
focusableCandidates.sort(sortByTabIndex);
}
private function removeFocusables(_arg1:DisplayObject):void{
var _local2:Object;
var _local3:DisplayObject;
if ((_arg1 is DisplayObjectContainer)){
_arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
_arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
for (_local2 in focusableObjects) {
_local3 = DisplayObject(_local2);
if (DisplayObjectContainer(_arg1).contains(_local3)){
if (_local3 == lastFocus){
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local2];
calculateCandidates = true;
};
};
};
}
private function addedHandler(_arg1:Event):void{
var _local2:DisplayObject;
_local2 = DisplayObject(_arg1.target);
if (_local2.stage){
addFocusables(DisplayObject(_arg1.target));
};
}
private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{
while (_arg1 != InteractiveObject(form)) {
if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
if (_arg1 == null){
break;
};
};
return (null);
}
private function tabChildrenChangeHandler(_arg1:Event):void{
var _local2:DisplayObjectContainer;
if (_arg1.target != _arg1.currentTarget){
return;
};
calculateCandidates = true;
_local2 = DisplayObjectContainer(_arg1.target);
if (_local2.tabChildren){
addFocusables(_local2, true);
} else {
removeFocusables(_local2);
};
}
public function sendDefaultButtonEvent():void{
defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
public function getFocus():InteractiveObject{
var _local1:InteractiveObject;
_local1 = form.stage.focus;
return (findFocusManagerComponent(_local1));
}
private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
var _local3:TextField;
var _local4:SimpleButton;
_local2 = DisplayObject(form).parent;
while (_arg1 != _local2) {
if ((_arg1 is UIComponent)){
if (!UIComponent(_arg1).enabled){
return (false);
};
} else {
if ((_arg1 is TextField)){
_local3 = TextField(_arg1);
if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){
return (false);
};
} else {
if ((_arg1 is SimpleButton)){
_local4 = SimpleButton(_arg1);
if (!_local4.enabled){
return (false);
};
};
};
};
if (!_arg1.visible){
return (false);
};
_arg1 = _arg1.parent;
};
return (true);
}
public function set defaultButton(_arg1:Button):void{
var _local2:Button;
_local2 = (_arg1) ? Button(_arg1) : null;
if (_local2 != _defaultButton){
if (_defaultButton){
_defaultButton.emphasized = false;
};
if (defButton){
defButton.emphasized = false;
};
_defaultButton = _local2;
defButton = _local2;
if (_local2){
_local2.emphasized = true;
};
};
}
private function deactivateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
}
public function setFocus(_arg1:InteractiveObject):void{
if ((_arg1 is IFocusManagerComponent)){
IFocusManagerComponent(_arg1).setFocus();
} else {
form.stage.focus = _arg1;
};
}
private function setFocusToNextObject(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
if (!hasFocusableObjects()){
return;
};
_local2 = getNextFocusManagerComponent(_arg1.shiftKey);
if (_local2){
setFocus(_local2);
};
}
private function hasFocusableObjects():Boolean{
var _local1:Object;
for (_local1 in focusableObjects) {
return (true);
};
return (false);
}
private function tabIndexChangeHandler(_arg1:Event):void{
calculateCandidates = true;
}
private function sortFocusableObjects():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){
sortFocusableObjectsTabIndex();
return;
};
focusableCandidates.push(_local2);
};
focusableCandidates.sort(sortByDepth);
}
private function keyFocusChangeHandler(_arg1:FocusEvent):void{
showFocusIndicator = true;
if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){
setFocusToNextObject(_arg1);
_arg1.preventDefault();
};
}
private function getIndexOfFocusedObject(_arg1:DisplayObject):int{
var _local2:int;
var _local3:int;
_local2 = focusableCandidates.length;
_local3 = 0;
_local3 = 0;
while (_local3 < _local2) {
if (focusableCandidates[_local3] == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public function hideFocus():void{
}
private function removedHandler(_arg1:Event):void{
var _local2:int;
var _local3:DisplayObject;
var _local4:InteractiveObject;
_local3 = DisplayObject(_arg1.target);
if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){
if (_local3 == lastFocus){
IFocusManagerComponent(lastFocus).drawFocus(false);
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local3];
calculateCandidates = true;
} else {
if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){
_local4 = (_local3 as InteractiveObject);
if (_local4){
if (_local4 == lastFocus){
lastFocus = null;
};
delete focusableObjects[_local4];
calculateCandidates = true;
};
_local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
};
};
removeFocusables(_local3);
}
private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:String;
var _local7:String;
var _local8:String;
var _local9:DisplayObject;
var _local10:DisplayObject;
_local3 = "";
_local4 = "";
_local8 = "0000";
_local9 = DisplayObject(_arg1);
_local10 = DisplayObject(_arg2);
while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) {
_local5 = getChildIndex(_local9.parent, _local9);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local3 = (_local7 + _local3);
_local9 = _local9.parent;
};
while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) {
_local5 = getChildIndex(_local10.parent, _local10);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local4 = (_local7 + _local4);
_local10 = _local10.parent;
};
return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0);
}
public function get defaultButton():Button{
return (_defaultButton);
}
private function activateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
if (lastFocus){
if ((lastFocus is IFocusManagerComponent)){
IFocusManagerComponent(lastFocus).setFocus();
} else {
form.stage.focus = lastFocus;
};
};
lastAction = "ACTIVATE";
}
public function showFocus():void{
}
public function set defaultButtonEnabled(_arg1:Boolean):void{
_defaultButtonEnabled = _arg1;
}
public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{
var _local2:DisplayObject;
var _local3:String;
var _local4:int;
var _local5:Boolean;
var _local6:int;
var _local7:int;
var _local8:IFocusManagerGroup;
if (!hasFocusableObjects()){
return (null);
};
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
_local2 = form.stage.focus;
_local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2)));
_local3 = "";
if ((_local2 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local2);
_local3 = _local8.groupName;
};
_local4 = getIndexOfFocusedObject(_local2);
_local5 = false;
_local6 = _local4;
if (_local4 == -1){
if (_arg1){
_local4 = focusableCandidates.length;
};
_local5 = true;
};
_local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3);
return (findFocusManagerComponent(focusableCandidates[_local7]));
}
private function mouseDownHandler(_arg1:MouseEvent):void{
var _local2:InteractiveObject;
if (_arg1.isDefaultPrevented()){
return;
};
_local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target));
if (!_local2){
return;
};
showFocusIndicator = false;
if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){
setFocus(_local2);
};
lastAction = "MOUSEDOWN";
}
private function isTabVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
_local2 = _arg1.parent;
while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) {
if (!_local2.tabChildren){
return (false);
};
_local2 = _local2.parent;
};
return (true);
}
public function get nextTabIndex():int{
return (0);
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.TAB){
lastAction = "KEY";
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
};
if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){
sendDefaultButtonEvent();
};
}
private function focusInHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
var _local3:Button;
_local2 = InteractiveObject(_arg1.target);
if (form.contains(_local2)){
lastFocus = findFocusManagerComponent(InteractiveObject(_local2));
if ((lastFocus is Button)){
_local3 = Button(lastFocus);
if (defButton){
defButton.emphasized = false;
defButton = _local3;
_local3.emphasized = true;
};
} else {
if (((defButton) && (!((defButton == _defaultButton))))){
defButton.emphasized = false;
defButton = _defaultButton;
_defaultButton.emphasized = true;
};
};
};
}
private function tabEnabledChangeHandler(_arg1:Event):void{
var _local2:InteractiveObject;
var _local3:Boolean;
calculateCandidates = true;
_local2 = InteractiveObject(_arg1.target);
_local3 = (focusableObjects[_local2] == true);
if (_local2.tabEnabled){
if (((!(_local3)) && (isTabVisible(_local2)))){
if (!(_local2 is IFocusManagerComponent)){
_local2.focusRect = false;
};
focusableObjects[_local2] = true;
};
} else {
if (_local3){
delete focusableObjects[_local2];
};
};
}
public function set showFocusIndicator(_arg1:Boolean):void{
_showFocusIndicator = _arg1;
}
public function get form():DisplayObjectContainer{
return (_form);
}
private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{
return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2));
}
public function activate():void{
if (activated){
return;
};
form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true);
form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true);
form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true);
form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = true;
if (lastFocus){
setFocus(lastFocus);
};
}
public function deactivate():void{
form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.removeEventListener(Event.ACTIVATE, activateHandler);
form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler);
form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = false;
}
public function get defaultButtonEnabled():Boolean{
return (_defaultButtonEnabled);
}
}
}//package fl.managers
Section 55
//IFocusManager (fl.managers.IFocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
public interface IFocusManager {
function getFocus():InteractiveObject;
function deactivate():void;
function set defaultButton(_arg1:Button):void;
function set showFocusIndicator(_arg1:Boolean):void;
function get defaultButtonEnabled():Boolean;
function get nextTabIndex():int;
function get defaultButton():Button;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:InteractiveObject):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject;
function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject;
}
}//package fl.managers
Section 56
//IFocusManagerComponent (fl.managers.IFocusManagerComponent)
package fl.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package fl.managers
Section 57
//IFocusManagerGroup (fl.managers.IFocusManagerGroup)
package fl.managers {
public interface IFocusManagerGroup {
function set groupName(_arg1:String):void;
function set selected(_arg1:Boolean):void;
function get groupName():String;
function get selected():Boolean;
}
}//package fl.managers
Section 58
//StyleManager (fl.managers.StyleManager)
package fl.managers {
import fl.core.*;
import flash.text.*;
import flash.utils.*;
public class StyleManager {
private var globalStyles:Object;
private var classToDefaultStylesDict:Dictionary;
private var styleToClassesHash:Object;
private var classToStylesDict:Dictionary;
private var classToInstancesDict:Dictionary;
private static var _instance:StyleManager;
public function StyleManager(){
styleToClassesHash = {};
classToInstancesDict = new Dictionary(true);
classToStylesDict = new Dictionary(true);
classToDefaultStylesDict = new Dictionary(true);
globalStyles = UIComponent.getStyleDefinition();
}
public static function clearComponentStyle(_arg1:Object, _arg2:String):void{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){
delete _local4[_arg2];
invalidateComponentStyle(_local3, _arg2);
};
}
private static function getClassDef(_arg1:Object):Class{
var component = _arg1;
if ((component is Class)){
return ((component as Class));
};
try {
return ((getDefinitionByName(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
if ((component is UIComponent)){
try {
return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
};
};
};
return (null);
}
public static function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Class;
var _local5:Object;
_local4 = getClassDef(_arg1);
_local5 = getInstance().classToStylesDict[_local4];
if (_local5 == null){
_local5 = (getInstance().classToStylesDict[_local4] = {});
};
if (_local5 == _arg3){
return;
};
_local5[_arg2] = _arg3;
invalidateComponentStyle(_local4, _arg2);
}
private static function setSharedStyles(_arg1:UIComponent):void{
var _local2:StyleManager;
var _local3:Class;
var _local4:Object;
var _local5:String;
_local2 = getInstance();
_local3 = getClassDef(_arg1);
_local4 = _local2.classToDefaultStylesDict[_local3];
for (_local5 in _local4) {
_arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5));
};
}
public static function getComponentStyle(_arg1:Object, _arg2:String):Object{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
return (((_local4)==null) ? null : _local4[_arg2]);
}
private static function getInstance(){
if (_instance == null){
_instance = new (StyleManager);
};
return (_instance);
}
private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{
var _local3:Dictionary;
var _local4:Object;
var _local5:UIComponent;
_local3 = getInstance().classToInstancesDict[_arg1];
if (_local3 == null){
return;
};
for (_local4 in _local3) {
_local5 = (_local4 as UIComponent);
if (_local5 == null){
} else {
_local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2));
};
};
}
private static function invalidateStyle(_arg1:String):void{
var _local2:Dictionary;
var _local3:Object;
_local2 = getInstance().styleToClassesHash[_arg1];
if (_local2 == null){
return;
};
for (_local3 in _local2) {
invalidateComponentStyle(Class(_local3), _arg1);
};
}
public static function registerInstance(_arg1:UIComponent):void{
var inst:StyleManager;
var classDef:Class;
var target:Class;
var defaultStyles:Object;
var styleToClasses:Object;
var n:String;
var instance = _arg1;
inst = getInstance();
classDef = getClassDef(instance);
if (classDef == null){
return;
};
if (inst.classToInstancesDict[classDef] == null){
inst.classToInstancesDict[classDef] = new Dictionary(true);
target = classDef;
while (defaultStyles == null) {
if (target["getStyleDefinition"] != null){
defaultStyles = target["getStyleDefinition"]();
break;
};
try {
target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class);
} catch(err:Error) {
try {
target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class);
} catch(e:Error) {
defaultStyles = UIComponent.getStyleDefinition();
break;
};
};
};
styleToClasses = inst.styleToClassesHash;
for (n in defaultStyles) {
if (styleToClasses[n] == null){
styleToClasses[n] = new Dictionary(true);
};
styleToClasses[n][classDef] = true;
};
inst.classToDefaultStylesDict[classDef] = defaultStyles;
inst.classToStylesDict[classDef] = {};
};
inst.classToInstancesDict[classDef][instance] = true;
setSharedStyles(instance);
}
public static function getStyle(_arg1:String):Object{
return (getInstance().globalStyles[_arg1]);
}
private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{
var _local3:Class;
var _local4:StyleManager;
var _local5:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance();
_local5 = _local4.classToStylesDict[_local3][_arg2];
if (_local5 != null){
return (_local5);
};
_local5 = _local4.globalStyles[_arg2];
if (_local5 != null){
return (_local5);
};
return (_local4.classToDefaultStylesDict[_local3][_arg2]);
}
public static function setStyle(_arg1:String, _arg2:Object):void{
var _local3:Object;
_local3 = getInstance().globalStyles;
if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
_local3[_arg1] = _arg2;
invalidateStyle(_arg1);
}
}
}//package fl.managers
Section 59
//None (fl.transitions.easing.None)
package fl.transitions.easing {
public class None {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package fl.transitions.easing
Section 60
//Regular (fl.transitions.easing.Regular)
package fl.transitions.easing {
public class Regular {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2));
};
--_arg1;
return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2));
}
}
}//package fl.transitions.easing
Section 61
//Strong (fl.transitions.easing.Strong)
package fl.transitions.easing {
public class Strong {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
}
}//package fl.transitions.easing
Section 62
//Tween (fl.transitions.Tween)
package fl.transitions {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Tween extends EventDispatcher {
private var _position:Number;// = NAN
public var prevTime:Number;// = NAN
public var prevPos:Number;// = NAN
public var isPlaying:Boolean;// = false
public var begin:Number;// = NAN
private var _fps:Number;// = NAN
private var _time:Number;// = NAN
public var change:Number;// = NAN
private var _finish:Number;// = NAN
public var looping:Boolean;// = false
private var _intervalID:uint;// = 0
public var func:Function;
private var _timer:Timer;// = null
private var _startTime:Number;// = NAN
public var prop:String;// = ""
private var _duration:Number;// = NAN
public var obj:Object;// = null
public var useSeconds:Boolean;// = false
protected static var _mc:MovieClip = new MovieClip();
public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){
isPlaying = false;
obj = null;
prop = "";
func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
};
begin = NaN;
change = NaN;
useSeconds = false;
prevTime = NaN;
prevPos = NaN;
looping = false;
_duration = NaN;
_time = NaN;
_fps = NaN;
_position = NaN;
_startTime = NaN;
_intervalID = 0;
_finish = NaN;
_timer = null;
super();
if (!arguments.length){
return;
};
this.obj = _arg1;
this.prop = _arg2;
this.begin = _arg4;
this.position = _arg4;
this.duration = _arg6;
this.useSeconds = _arg7;
if ((_arg3 is Function)){
this.func = _arg3;
};
this.finish = _arg5;
this._timer = new Timer(100);
this.start();
}
public function continueTo(_arg1:Number, _arg2:Number):void{
this.begin = this.position;
this.finish = _arg1;
if (!isNaN(_arg2)){
this.duration = _arg2;
};
this.start();
}
public function stop():void{
this.stopEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position));
}
private function fixTime():void{
if (this.useSeconds){
this._startTime = (getTimer() - (this._time * 1000));
};
}
public function set FPS(_arg1:Number):void{
var _local2:Boolean;
_local2 = this.isPlaying;
this.stopEnterFrame();
this._fps = _arg1;
if (_local2){
this.startEnterFrame();
};
}
public function get finish():Number{
return ((this.begin + this.change));
}
public function get duration():Number{
return (this._duration);
}
protected function startEnterFrame():void{
var _local1:Number;
if (isNaN(this._fps)){
_mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true);
} else {
_local1 = (1000 / this._fps);
this._timer.delay = _local1;
this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true);
this._timer.start();
};
this.isPlaying = true;
}
public function set time(_arg1:Number):void{
this.prevTime = this._time;
if (_arg1 > this.duration){
if (this.looping){
this.rewind((_arg1 - this._duration));
this.update();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position));
} else {
if (this.useSeconds){
this._time = this._duration;
this.update();
};
this.stop();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position));
};
} else {
if (_arg1 < 0){
this.rewind();
this.update();
} else {
this._time = _arg1;
this.update();
};
};
}
protected function stopEnterFrame():void{
if (isNaN(this._fps)){
_mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
} else {
this._timer.stop();
};
this.isPlaying = false;
}
public function getPosition(_arg1:Number=NaN):Number{
if (isNaN(_arg1)){
_arg1 = this._time;
};
return (this.func(_arg1, this.begin, this.change, this._duration));
}
public function set finish(_arg1:Number):void{
this.change = (_arg1 - this.begin);
}
public function set duration(_arg1:Number):void{
this._duration = ((_arg1)<=0) ? Infinity : _arg1;
}
public function setPosition(_arg1:Number):void{
this.prevPos = this._position;
if (this.prop.length){
this.obj[this.prop] = (this._position = _arg1);
};
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position));
}
public function resume():void{
this.fixTime();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position));
}
public function fforward():void{
this.time = this._duration;
this.fixTime();
}
protected function onEnterFrame(_arg1:Event):void{
this.nextFrame();
}
public function get position():Number{
return (this.getPosition(this._time));
}
public function yoyo():void{
this.continueTo(this.begin, this.time);
}
public function nextFrame():void{
if (this.useSeconds){
this.time = ((getTimer() - this._startTime) / 1000);
} else {
this.time = (this._time + 1);
};
}
protected function timerHandler(_arg1:TimerEvent):void{
this.nextFrame();
_arg1.updateAfterEvent();
}
public function get FPS():Number{
return (this._fps);
}
public function rewind(_arg1:Number=0):void{
this._time = _arg1;
this.fixTime();
this.update();
}
public function set position(_arg1:Number):void{
this.setPosition(_arg1);
}
public function get time():Number{
return (this._time);
}
private function update():void{
this.setPosition(this.getPosition(this._time));
}
public function start():void{
this.rewind();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position));
}
public function prevFrame():void{
if (!this.useSeconds){
this.time = (this._time - 1);
};
}
}
}//package fl.transitions
Section 63
//TweenEvent (fl.transitions.TweenEvent)
package fl.transitions {
import flash.events.*;
public class TweenEvent extends Event {
public var time:Number;// = NAN
public var position:Number;// = NAN
public static const MOTION_START:String = "motionStart";
public static const MOTION_STOP:String = "motionStop";
public static const MOTION_LOOP:String = "motionLoop";
public static const MOTION_CHANGE:String = "motionChange";
public static const MOTION_FINISH:String = "motionFinish";
public static const MOTION_RESUME:String = "motionResume";
public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){
time = NaN;
position = NaN;
super(_arg1, _arg4, _arg5);
this.time = _arg2;
this.position = _arg3;
}
override public function clone():Event{
return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable));
}
}
}//package fl.transitions
Section 64
//ambience_crypt (ambience_crypt)
package {
import flash.media.*;
public dynamic class ambience_crypt extends Sound {
}
}//package
Section 65
//ambience_outside (ambience_outside)
package {
import flash.media.*;
public dynamic class ambience_outside extends Sound {
}
}//package
Section 66
//ambience_toolshed (ambience_toolshed)
package {
import flash.media.*;
public dynamic class ambience_toolshed extends Sound {
}
}//package
Section 67
//ambience_transformer (ambience_transformer)
package {
import flash.media.*;
public dynamic class ambience_transformer extends Sound {
}
}//package
Section 68
//Arrows (Arrows)
package {
import flash.display.*;
import flash.events.*;
public dynamic class Arrows extends MovieClip {
public function Arrows(){
addFrameScript(0, frame1);
}
public function active(_arg1:Event):void{
x = stage.mouseX;
y = stage.mouseY;
}
function frame1(){
stop();
x = -500;
if (hasEventListener(Event.ENTER_FRAME)){
removeEventListener(Event.ENTER_FRAME, active);
};
}
}
}//package
Section 69
//back_office (back_office)
package {
import flash.display.*;
public dynamic class back_office extends MovieClip {
public var gem_red:GemRed;
public function back_office(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
gem_red.init();
}
}
}//package
Section 70
//Bag (Bag)
package {
import code.*;
public dynamic class Bag extends Item {
public function Bag(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 71
//Batteries (Batteries)
package {
import code.*;
public dynamic class Batteries extends Item {
public function Batteries(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 72
//BoltCutters (BoltCutters)
package {
import code.*;
public dynamic class BoltCutters extends Item {
public function BoltCutters(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 73
//casket (casket)
package {
import flash.display.*;
public dynamic class casket extends MovieClip {
public var wallet:Wallet;
}
}//package
Section 74
//CellRenderer_disabledSkin (CellRenderer_disabledSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_disabledSkin extends MovieClip {
}
}//package
Section 75
//CellRenderer_downSkin (CellRenderer_downSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_downSkin extends MovieClip {
}
}//package
Section 76
//CellRenderer_overSkin (CellRenderer_overSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_overSkin extends MovieClip {
}
}//package
Section 77
//CellRenderer_selectedDisabledSkin (CellRenderer_selectedDisabledSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedDisabledSkin extends MovieClip {
}
}//package
Section 78
//CellRenderer_selectedDownSkin (CellRenderer_selectedDownSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedDownSkin extends MovieClip {
}
}//package
Section 79
//CellRenderer_selectedOverSkin (CellRenderer_selectedOverSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedOverSkin extends MovieClip {
}
}//package
Section 80
//CellRenderer_selectedUpSkin (CellRenderer_selectedUpSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedUpSkin extends MovieClip {
}
}//package
Section 81
//CellRenderer_upSkin (CellRenderer_upSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_upSkin extends MovieClip {
}
}//package
Section 82
//chip (chip)
package {
import flash.media.*;
public dynamic class chip extends Sound {
}
}//package
Section 83
//close_door (close_door)
package {
import flash.media.*;
public dynamic class close_door extends Sound {
}
}//package
Section 84
//Crowbar (Crowbar)
package {
import code.*;
public dynamic class Crowbar extends Item {
public function Crowbar(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 85
//crypt_1 (crypt_1)
package {
import flash.display.*;
public dynamic class crypt_1 extends MovieClip {
public var gems:MovieClip;
public var map:Map;
public function crypt_1(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 86
//crypt_entrance (crypt_entrance)
package {
import flash.display.*;
public dynamic class crypt_entrance extends MovieClip {
public var batteries:Batteries;
public function crypt_entrance(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 87
//crypt_exit (crypt_exit)
package {
import flash.display.*;
public dynamic class crypt_exit extends MovieClip {
public var door:MovieClip;
}
}//package
Section 88
//crypt_gate (crypt_gate)
package {
import flash.display.*;
public dynamic class crypt_gate extends MovieClip {
public function crypt_gate(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 89
//cryptGateKey (cryptGateKey)
package {
import code.*;
public dynamic class cryptGateKey extends Item {
public function cryptGateKey(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 90
//defButton (defButton)
package {
import code.*;
public dynamic class defButton extends UIButton {
public function defButton(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
label.selectable = false;
label.mouseEnabled = false;
}
}
}//package
Section 91
//file_cab (file_cab)
package {
import flash.media.*;
public dynamic class file_cab extends Sound {
}
}//package
Section 92
//flashlight (flashlight)
package {
import flash.media.*;
public dynamic class flashlight extends Sound {
}
}//package
Section 93
//FlashLightReady (FlashLightReady)
package {
import code.*;
public dynamic class FlashLightReady extends Item {
public function FlashLightReady(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 94
//focusRectSkin (focusRectSkin)
package {
import flash.display.*;
public dynamic class focusRectSkin extends MovieClip {
}
}//package
Section 95
//gate_open (gate_open)
package {
import flash.media.*;
public dynamic class gate_open extends Sound {
}
}//package
Section 96
//gem_green_drop (gem_green_drop)
package {
import flash.display.*;
public dynamic class gem_green_drop extends MovieClip {
public var gem_green:GemGreen;
public function gem_green_drop(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 97
//GemBlue (GemBlue)
package {
import code.*;
public dynamic class GemBlue extends Item {
public function GemBlue(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 98
//GemGreen (GemGreen)
package {
import code.*;
public dynamic class GemGreen extends Item {
public function GemGreen(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 99
//GemRed (GemRed)
package {
import code.*;
public dynamic class GemRed extends Item {
public function GemRed(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 100
//grave_puzzle (grave_puzzle)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class grave_puzzle extends MovieClip {
public var chipCount:uint;
public var socket_1:MovieClip;
public var socket_2:MovieClip;
public var socket_3:MovieClip;
public var socket_4:MovieClip;
public var socket_5:MovieClip;
public var socket_6:MovieClip;
public var socket_7:MovieClip;
public var socket_8:MovieClip;
public var activeChip;
public var chip_1:MovieClip;
public var chip_2:MovieClip;
public var chip_3:MovieClip;
public var chip_4:MovieClip;
public var chip_5:MovieClip;
public var chip_6:MovieClip;
public var chip_7:MovieClip;
public var chip_8:MovieClip;
public var gsockets:Array;
public var sockets:Array;
public var chips:Array;
public var vol1:MovieClip;
public var gsocket_1:MovieClip;
public var gsocket_2:MovieClip;
public var vol2:MovieClip;
public var gsocket_4:MovieClip;
public var gsocket_5:MovieClip;
public var gsocket_6:MovieClip;
public var gsocket_7:MovieClip;
public var gsocket_8:MovieClip;
public var gsocket_3:MovieClip;
public var game;
public function grave_puzzle(){
addFrameScript(0, frame1);
}
public function success(_arg1:uint=0):void{
var _local2:uint;
switch (_arg1){
case 0:
_local2 = 0;
while (_local2 < chips.length) {
chips[_local2].removeEventListener(MouseEvent.CLICK, clickAction);
chips[_local2].buttonMode = false;
chips[_local2].useHandCursor = false;
_local2++;
};
vol1.mouseEnabled = false;
vol2.mouseEnabled = false;
game.spawnMessageBox(game.messages[28], this, success, [1]);
break;
case 1:
game.spawnMessageBox(game.messages[16], this, success, [2]);
break;
case 2:
vol1.mouseEnabled = true;
vol2.mouseEnabled = true;
game.gotoScene("gem_green_drop");
break;
};
}
public function socketChip(_arg1, _arg2):void{
_arg2.item = _arg1;
_arg1.socket = _arg2;
_arg1.x = _arg2.x;
_arg1.y = _arg2.y;
}
function frame1(){
stop();
vol1.addEventListener(MouseEvent.CLICK, goBack);
vol1.buttonMode = true;
vol1.useHandCursor = true;
vol1.alpha = 0;
vol2.alpha = 0;
vol2.addEventListener(MouseEvent.CLICK, goBack);
vol2.buttonMode = true;
vol2.useHandCursor = true;
sockets = [];
gsockets = [];
chips = [];
activeChip = null;
chipCount = 8;
initPuzzle();
}
public function checkPuzzleWin():void{
var _local1:uint;
var _local2:uint;
var _local3:uint;
_local1 = 0;
_local2 = 0;
while (_local2 < gsockets.length) {
if (gsockets[_local2].item != null){
_local1++;
};
_local2++;
};
if (_local1 == 8){
trace("Checking Puzzle...");
_local3 = 0;
_local2 = 0;
while (_local2 < gsockets.length) {
if (gsockets[_local2].item.id == gsockets[_local2].id){
_local3++;
};
_local2++;
};
if (_local3 == 8){
trace("Puzzle Succsess!");
success();
} else {
trace((("Got " + _local3) + " right."));
};
};
}
public function trySocket():void{
var _local1:Array;
var _local2:uint;
var _local3:uint;
var _local4:String;
var _local5:*;
trace(("Trying to socket: " + activeChip.name));
_local2 = 0;
while (_local2 < 2) {
_local1 = ((_local2 == 0)) ? sockets : gsockets;
_local3 = 0;
while (_local3 < _local1.length) {
if (activeChip.hitTestObject(_local1[_local3])){
_local4 = _local1[_local3].socketType;
if (_local1[_local3].item != null){
_local5 = _local1[_local3].item;
activeChip.stopDrag();
game.soundManager.playSound("chip");
unSocketChip(_local5);
socketChip(activeChip, _local1[_local3]);
activateChip(_local5);
activeChip.startDrag(true);
trace(("Swapped to : " + activeChip.name));
_local3 = 100;
_local2 = 100;
} else {
if (_local1[_local3].item == null){
game.soundManager.playSound("chip");
stopDrag();
socketChip(activeChip, _local1[_local3]);
activeChip = null;
_local3 = 100;
_local2 = 100;
};
};
};
_local3++;
};
_local2++;
};
if ((((_local4 == "grave")) && ((_local3 > 100)))){
checkPuzzleWin();
};
}
public function init(_arg1):void{
this.game = _arg1;
}
public function initPuzzle():void{
var _local1:*;
var _local2:uint;
_local2 = 0;
while (_local2 < numChildren) {
_local1 = getChildAt(_local2);
if (_local1.name.split("_")[0] == "socket"){
sockets.push(_local1);
_local1.item = null;
_local1.socketType = "top";
_local1.id = int(_local1.name.split("_")[1]);
} else {
if (_local1.name.split("_")[0] == "gsocket"){
gsockets.push(_local1);
_local1.socketType = "grave";
_local1.item = null;
_local1.id = int(_local1.name.split("_")[1]);
} else {
if (_local1.name.split("_")[0] == "chip"){
chips.push(_local1);
_local1.id = chips.length;
_local1.socket = null;
_local1.gotoAndStop(_local1.id);
};
};
};
_local2++;
};
_local2 = 0;
while (_local2 < chipCount) {
_local1 = chips[_local2];
socketChip(_local1, sockets[_local2]);
_local1.ONMOUSE = false;
_local1.addEventListener(MouseEvent.CLICK, clickAction);
_local1.buttonMode = true;
_local1.useHandCursor = true;
_local2++;
};
}
public function unSocketChip(_arg1):void{
_arg1.socket.item = null;
_arg1.socket = null;
}
public function clickAction(_arg1:MouseEvent):void{
if (activeChip == null){
game.soundManager.playSound("chip");
unSocketChip(_arg1.target);
_arg1.target.startDrag(true);
activateChip(_arg1.target);
} else {
if (activeChip != null){
trySocket();
};
};
}
public function activateChip(_arg1):void{
activeChip = _arg1;
if (getChildAt((numChildren - 1)) != activeChip){
swapChildren(activeChip, getChildAt((numChildren - 1)));
};
}
public function goBack(_arg1:MouseEvent):void{
game.gotoScene("crypt_1");
}
}
}//package
Section 101
//graveyard (graveyard)
package {
import flash.display.*;
public dynamic class graveyard extends MovieClip {
}
}//package
Section 102
//InfoButton (InfoButton)
package {
import flash.display.*;
public dynamic class InfoButton extends Sprite {
}
}//package
Section 103
//InventoryBox (InventoryBox)
package {
import flash.display.*;
public dynamic class InventoryBox extends Sprite {
}
}//package
Section 104
//lamp_switch (lamp_switch)
package {
import flash.media.*;
public dynamic class lamp_switch extends Sound {
}
}//package
Section 105
//List_skin (List_skin)
package {
import flash.display.*;
public dynamic class List_skin extends MovieClip {
}
}//package
Section 106
//lock_pick_fall (lock_pick_fall)
package {
import flash.display.*;
public dynamic class lock_pick_fall extends MovieClip {
public var lock_pick:LockPick;
public function lock_pick_fall(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 107
//locker (locker)
package {
import flash.media.*;
public dynamic class locker extends Sound {
}
}//package
Section 108
//LockPick (LockPick)
package {
import code.*;
public dynamic class LockPick extends Item {
public function LockPick(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 109
//Map (Map)
package {
import code.*;
public dynamic class Map extends Item {
public function Map(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 110
//monitor (monitor)
package {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import fl.data.*;
import code.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class monitor extends MovieClip {
public var power_btn:off_btn;
public var dList:List;
public var roster_window:MovieClip;
public var infoArea:TextArea;
public var btn;
public var i:uint;
public var listData:DataProvider;
public var login_btn:defButton;
public var login_window:MovieClip;
public var UNCHECKED:Boolean;
public var game;
public function monitor(){
addFrameScript(0, frame1, 15, frame16);
}
public function init(_arg1):void{
this.game = _arg1;
}
public function updateInfo(_arg1:Event):void{
infoArea.text = _arg1.target.selectedItem.data;
if ((((_arg1.target.selectedItem.label == "Olivia, Hamilton")) && (UNCHECKED))){
UNCHECKED = false;
game.gameScenes.graveyard.changeVolumeProperties("mark_grave", {type:"item"});
game.spawnMessageBox(game.messages[17]);
};
}
public function findName():void{
var _local1:String;
var _local2:String;
_local1 = roster_window.name_txt.text.toLowerCase();
_local2 = roster_window.lname_txt.text.toLowerCase();
trace("Finding Person");
if ((((_local1 == "john")) && ((_local2 == "stanley")))){
dList.dataProvider = listData;
roster_window.info_txt.textColor = 0xCC00;
roster_window.info_txt.text = "Found";
} else {
dList.dataProvider = new DataProvider();
roster_window.info_txt.textColor = 0xE60000;
roster_window.info_txt.text = "Invalid";
};
}
function frame16(){
stop();
dList = roster_window.roster_list;
infoArea = roster_window.info_area;
UNCHECKED = true;
listData = new DataProvider();
listData.addItem({label:"Stanley, John", data:"1960 - 1985"});
listData.addItem({label:"---------------------", data:""});
listData.addItem({label:"Relatives: ", data:""});
listData.addItem({label:"---------------------", data:""});
listData.addItem({label:"Albert, Randall", data:"1918 - 1969\nRelation: Great Uncle\n Burried in the grove area."});
listData.addItem({label:"Stanley, Mark", data:"1943 - 1988\nRelation: Uncle\n Buried in the Stanley Crypt area."});
listData.addItem({label:"Olivia, Hamilton", data:"1952 - 1990\nRelation: Cousin\n Buried in the Stanley Crypt area."});
listData.addItem({label:"Stanley, Elena", data:"1952 - 1999\nRelation: Aunt\n No further information."});
dList.addEventListener(Event.CHANGE, updateInfo);
roster_window.find_btn.label.text = "find";
roster_window.find_btn.enable();
roster_window.find_btn.setAction(findName, this);
}
function frame1(){
stop();
i = 0;
while (i < numChildren) {
if ((getChildAt(i) is UIButton)){
btn = getChildAt(i);
btn.init();
};
i++;
};
power_btn.setAction(turnOff, this);
login_btn.setAction(login, this);
login_btn.label.text = "Login";
}
public function login():void{
if ((((login_window.login_txt.text.length == 0)) && ((login_window.pass_txt.text.length == 0)))){
trace("Enter Info");
login_window.login_info.textColor = 0xE60000;
login_window.login_info.text = "Enter your login name and password.";
} else {
if ((((login_window.login_txt.text == game.login[0])) && ((login_window.pass_txt.text == game.login[1])))){
login_window.login_info.textColor = 0xCC00;
login_window.login_info.text = "Login Succsesful";
gotoAndPlay("SUCCSESS");
} else {
login_window.login_info.textColor = 0xE60000;
login_window.login_info.text = "Invalid.";
};
};
}
public function turnOff():void{
game.gotoScene("back_office");
}
}
}//package
Section 111
//Note (Note)
package {
import code.*;
public dynamic class Note extends Item {
public function Note(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 112
//off_btn (off_btn)
package {
import code.*;
public dynamic class off_btn extends UIButton {
public function off_btn(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 113
//office_1 (office_1)
package {
import flash.display.*;
public dynamic class office_1 extends MovieClip {
public var bag:Bag;
}
}//package
Section 114
//office_2 (office_2)
package {
import flash.display.*;
public dynamic class office_2 extends MovieClip {
public function office_2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 115
//office_dark (office_dark)
package {
import flash.display.*;
public dynamic class office_dark extends MovieClip {
public var cgate_key:cryptGateKey;
public function office_dark(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 116
//office_front_1 (office_front_1)
package {
import flash.display.*;
public dynamic class office_front_1 extends MovieClip {
}
}//package
Section 117
//office_front_2 (office_front_2)
package {
import flash.display.*;
public dynamic class office_front_2 extends MovieClip {
public function office_front_2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 118
//outside_1 (outside_1)
package {
import flash.display.*;
public dynamic class outside_1 extends MovieClip {
}
}//package
Section 119
//painting (painting)
package {
import flash.media.*;
public dynamic class painting extends Sound {
}
}//package
Section 120
//paper (paper)
package {
import flash.media.*;
public dynamic class paper extends Sound {
}
}//package
Section 121
//Password (Password)
package {
import code.*;
public dynamic class Password extends Item {
public function Password(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 122
//pickup (pickup)
package {
import flash.media.*;
public dynamic class pickup extends Sound {
}
}//package
Section 123
//quake (quake)
package {
import flash.media.*;
public dynamic class quake extends Sound {
}
}//package
Section 124
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_disabledSkin extends MovieClip {
}
}//package
Section 125
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_downSkin extends MovieClip {
}
}//package
Section 126
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_overSkin extends MovieClip {
}
}//package
Section 127
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_upSkin extends MovieClip {
}
}//package
Section 128
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_disabledSkin extends MovieClip {
}
}//package
Section 129
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_downSkin extends MovieClip {
}
}//package
Section 130
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_overSkin extends MovieClip {
}
}//package
Section 131
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_upSkin extends MovieClip {
}
}//package
Section 132
//ScrollBar_thumbIcon (ScrollBar_thumbIcon)
package {
import flash.display.*;
public dynamic class ScrollBar_thumbIcon extends MovieClip {
}
}//package
Section 133
//ScrollThumb_downSkin (ScrollThumb_downSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_downSkin extends MovieClip {
}
}//package
Section 134
//ScrollThumb_overSkin (ScrollThumb_overSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_overSkin extends MovieClip {
}
}//package
Section 135
//ScrollThumb_upSkin (ScrollThumb_upSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_upSkin extends MovieClip {
}
}//package
Section 136
//ScrollTrack_skin (ScrollTrack_skin)
package {
import flash.display.*;
public dynamic class ScrollTrack_skin extends MovieClip {
}
}//package
Section 137
//Shovel (Shovel)
package {
import code.*;
public dynamic class Shovel extends Item {
public function Shovel(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 138
//socket_gem (socket_gem)
package {
import flash.media.*;
public dynamic class socket_gem extends Sound {
}
}//package
Section 139
//sockets (sockets)
package {
import flash.display.*;
public dynamic class sockets extends MovieClip {
public function sockets(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 140
//start_grave (start_grave)
package {
import flash.display.*;
public dynamic class start_grave extends MovieClip {
}
}//package
Section 141
//stone_door (stone_door)
package {
import flash.media.*;
public dynamic class stone_door extends Sound {
}
}//package
Section 142
//switch (switch)
package {
import flash.media.*;
public dynamic class switch extends Sound {
}
}//package
Section 143
//Symbol1 (Symbol1)
package {
import code.*;
public dynamic class Symbol1 extends Item {
public function Symbol1(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 144
//TextArea_disabledSkin (TextArea_disabledSkin)
package {
import flash.display.*;
public dynamic class TextArea_disabledSkin extends MovieClip {
}
}//package
Section 145
//TextArea_upSkin (TextArea_upSkin)
package {
import flash.display.*;
public dynamic class TextArea_upSkin extends MovieClip {
}
}//package
Section 146
//TileList_skin (TileList_skin)
package {
import flash.display.*;
public dynamic class TileList_skin extends MovieClip {
}
}//package
Section 147
//tomb (tomb)
package {
import flash.media.*;
public dynamic class tomb extends Sound {
}
}//package
Section 148
//tool_shed (tool_shed)
package {
import flash.display.*;
public dynamic class tool_shed extends MovieClip {
public var crowbar:Crowbar;
public var bolt_cutters:BoltCutters;
public var password:Password;
public function tool_shed(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
password.init();
crowbar.init();
}
}
}//package
Section 149
//tool_shed_front (tool_shed_front)
package {
import flash.display.*;
public dynamic class tool_shed_front extends MovieClip {
public function tool_shed_front(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 150
//ToolShedKey (ToolShedKey)
package {
import code.*;
public dynamic class ToolShedKey extends Item {
public function ToolShedKey(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 151
//transformer (transformer)
package {
import flash.display.*;
public dynamic class transformer extends MovieClip {
public var shovel:Shovel;
public function transformer(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
shovel.init();
}
}
}//package
Section 152
//under_painting (under_painting)
package {
import flash.display.*;
public dynamic class under_painting extends MovieClip {
public var flashlight:Symbol1;
public function under_painting(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 153
//Wallet (Wallet)
package {
import code.*;
public dynamic class Wallet extends Item {
public function Wallet(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package