rendered paste bodystop();
import flash.filters.GlowFilter;
var nextDepth:Number;
var numLibraries:Number;
var libSelected:Number;
var libNumParts:Number;
var startPartsX:Number;
var startPartsY:Number;
var partsSectionMaxX:Number;
var partsSectionMaxY:Number;
var partsSpacer:Number;
var partsIndent:Number;
var partID:Number;
var topLibrary:Number;
var bottomLibrary:Number;
function initializeGame():Void
{
nextDepth = 2;
numLibraries = 6;
libSelected = -1;
parts = new Array();
startPartsX = 50;
startPartsY = 50;
partsSectionMaxX = 40;
partsSectionMaxY = 40;
partsSpacer = 1;
partsIndent = 0;
partID = 0;
topLibrary = 60;
bottomLibrary = 430;
//generatePartsArray ();
createLibraryHandlers();
}
//library_hair.onRelease = function ():Void {
// librarySelected("hair");
//};
function generatePartsArray():Void
{
/*
for (var i:Number = 0; i < numLibraries; i++)
{
var j:Number = 0;
while (_root[i + "_" + j].enabled != undefined)
{
trace("in");
parts[i] = new Array ();
parts[i].push ({partID:partID, mcName:i + "_" + j});
partID++;
j++;
}
}
*/
}
function createLibraryHandlers():Void
{
for (var i:Number = 0; i < numLibraries; i++)
{
_root["library_" + i].lib = i;
_root["library_" + i].onRelease = function():Void
{
librarySelected(this.lib);
};
}
}
function librarySelected(l:Number):Void
{
//myColor = new Color(_root["library_" + l]);
//myColor.setTransform({rb:-100, gb:0, bb:0});
unselectAllLibs();
libSelected = l;
createEmptyMovieClip("partHolder", nextDepth);
nextDepth++;
populatePartHolder();
var color:Number = 0xFF0000;
var alpha:Number = 0.8;
var blurX:Number = 5;
var blurY:Number = 5;
var strength:Number = 5;
var quality:Number = 3;
var inner:Boolean = false;
var knockout:Boolean = false;
var filter:GlowFilter = new GlowFilter(color, alpha, blurX, blurY, strength, quality, inner, knockout);
var filterArray:Array = new Array();
filterArray.push(filter);
_root["library_" + l].filters = filterArray;
}
function populatePartHolder():Void
{
var done:Boolean = false;
var i:Number = 0;
while (!done)
{
partHolder.attachMovie(libSelected + "_" + i, "icon_" + i, nextDepth);
//trace(_root["icon_" + i]._name);
if (_root["partHolder"]["icon_" + i]._name == undefined)
{
libNumParts = i + 1;
return;
}
scalePartMC(_root["partHolder"]["icon_" + i], partsSectionMaxX, partsSectionMaxY);
var nextY:Number = getNextY(i);
_root["partHolder"]["icon_" + i]._x = startPartsX;
_root["partHolder"]["icon_" + i]._y = nextY;
nextDepth++;
i++;
}
}
function unselectAllLibs():Void
{
_root["library_" + libSelected].filters = new Array();
}
function centerPartMC(partMC:MovieClip, startX:Number, endX:Number):Void
{
var point:Number = (endX + startX) / 2;
point -= partMC._width / 2;
partMC._x = point;
}
function scalePartMC(partMC:MovieClip, maxX:Number, maxY:Number):Void
{
var mcWidth = partMC._width;
var mcHeight = partMC._height;
if (mcWidth >= mcHeight)
{
partMC._width = maxX;
var step1:Number = (maxX * mcHeight);
step1 /= mcWidth;
partMC._height = step1;
} else
{
partMC._height = maxY;
var step1:Number = (maxY * mcWidth);
step1 /= mcHeight;
partMC._width = step1;
}
}
function getNextY(i:Number):Number
{
//var numParts:Number = parts.length;
if (i == 0)
{
//trace("got first");
return startPartsY;
}
i--;
return (_root["partHolder"]["icon_" + i]._y + _root["partHolder"]["icon_" + i]._height);
}
_root.onEnterFrame = function()
{
var mX:Number = _xmouse;
var mY:Number = _ymouse;
var midY = Stage.height / 2;
if (libSelected != -1)
{
if (mX >= 55 && mX <= 115)
{
if (mY >= topLibrary && mY <= bottomLibrary)
{
if (mY > (midY - 20) && mY < (midY + 20))
{
return;
}
if (mY <= midY)
{
scrollLibrary("up");
} else
{
scrollLibrary("down");
}
}
}
}
};
function scrollLibrary(dir:String):Void
{
var mX:Number = _xmouse;
var mY:Number = _ymouse;
var midY = Stage.height / 2;
var scrollAmount:Number = 0;
switch (dir)
{
case "up" :
if ((_root["partHolder"]._y + _root["partHolder"]._height) <= bottomLibrary)
{
return;
}
scrollAmount = -((midY - mY) * .1);
// code that is only used for scrolling up
break;
case "down" :
if ((_root["partHolder"]._y) >= topLibrary)
{
return;
}
scrollAmount = ((mY - midY) * .1);
// code that is only used for scrolling down
break;
}
_root["partHolder"]._y += scrollAmount;
}
initializeGame();
//trace(parts[0][2].mcName);