package com.guru.project.brother.game
{
	import com.guru.call.FunctionCall;
	import com.guru.facebookApplicationBase.gameBase.GameSectionBase;
	import com.guru.facebookApplicationBase.message.Message;
	import com.guru.panel.Panel;
	import com.guru.panel.StatusBar;
	import com.guru.project.brother.game.coreStep.GameSectionCoreStep;
	import com.guru.project.brother.game.decorateStep.GameSectionDecorateStep;
	import com.guru.project.brother.game.fabricStep.GameSectionFabricStep;
	import com.guru.project.brother.game.introStep.GameSectionIntroStep;
	import com.guru.project.brother.game.rankStep.GameSectionRankStep;
	import com.guru.project.brother.game.resultStep.GameSectionResultStep;
	import com.guru.project.brother.game.chooseStep.GameSectionChooseStep;
	import flash.display.MovieClip;
	/**
	 * ...
	 * @author Eddy Lee
	 */
	public class GameSection extends GameSectionBase
	{
		
		public function GameSection(pTimeline_mc:MovieClip)
		{
			super(pTimeline_mc);
			
			mStepClass_array = [GameSectionIntroStep, GameSectionChooseStep, GameSectionFabricStep, GameSectionDecorateStep, GameSectionCoreStep, GameSectionResultStep, GameSectionRankStep];
			
			Panel.showStatusBar(StatusBar.LOADING, Message.GENERIC_LOADING);
			GameDataObject.reset();
			GameDataObject.update(new FunctionCall(this, onUpdateDone));
		}
		
		private function onUpdateDone():void
		{
			Panel.hideStatusBar();
			this.gotoStep(0);
		}
		
		override public function dispose():void 
		{
			GameDataObject.reset();
			
			super.dispose();
		}
		
	}

}