import as.utils.Delegate;
import as.utils.DoLater;
class XmlData extends MovieClip
{
private var stage:MovieClip
private var xml_data:XML
function XmlData(mc:MovieClip)
{
trace("[XmlData.as] - XmlData() :: ")
stage = mc
}
public function loadData(xml_file:String, fnc:Function, scope:Object):Void
{
trace("[XmlData.as] - loadData() :: xml_file: " + xml_file)
trace("[XmlData.as] - loadData() :: scope: " + scope)
xml_data = new XML()
xml_data.ignoreWhite = true
xml_data.onLoad = Delegate.create(this, _onLoad, fnc, scope)
xml_data.load(xml_file)
}
private function _onLoad(success:Boolean, callback:Function, scope:Object)
{
trace("[XmlData.as] - _onLoad() :: " + scope)
if (success)
{
callback.apply(scope)
}
else
{
trace("[XmlData.as] - _onLoad() :: Error loading xml")
}
}
public function getData()
{
trace("[XmlData.as] - getData() :: " + this)
return xml_data
}
public function toString():String
{
return "[Class XmlData]"
}
}
// ===============================================
class Test
{
private var myData:XmlData
function Test(stage)
{
trace("[Test.as] - Test() :: Constructed.")
myData = new XmlData(stage)
myData.loadData("hiroik_menu_.xml", draw, this)
}
private function draw()
{
trace("[Test.as] - draw() :: " + this)
trace(myData.getData())
}
public function toString():String
{
return "[Class Test]"
}
}