home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / HexiomConnect.swf / scripts / Factory.as < prev    next >
Encoding:
Text File  |  2008-08-29  |  6.7 KB  |  203 lines

  1. package
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.display.FrameLabel;
  5.    import flash.display.MovieClip;
  6.    import flash.display.SimpleButton;
  7.    import flash.display.Sprite;
  8.    import flash.events.ContextMenuEvent;
  9.    import flash.events.Event;
  10.    import flash.events.MouseEvent;
  11.    import flash.ui.ContextMenu;
  12.    import flash.ui.ContextMenuItem;
  13.    import flash.utils.getDefinitionByName;
  14.    
  15.    public class Factory extends MovieClip
  16.    {
  17.       
  18.       private static const Preloader:Class = Factory_Preloader;
  19.       
  20.       public static var ON_BICLOPS:Boolean = false;
  21.       
  22.       private static const Intro:Class = Factory_Intro;
  23.       
  24.       public static var ON_KONG:Boolean = false;
  25.        
  26.       
  27.       private var intro:MovieClip;
  28.       
  29.       private var bar:Sprite;
  30.       
  31.       private var preloader:MovieClip;
  32.       
  33.       private var antFinished:Boolean = false;
  34.       
  35.       private var loadFinished:Boolean = false;
  36.       
  37.       public function Factory()
  38.       {
  39.          var cMenu:ContextMenu;
  40.          var cMenuItem:ContextMenuItem = null;
  41.          var barHouse:Sprite = null;
  42.          var kongButton:SimpleButton = null;
  43.          var biclopsButton:SimpleButton = null;
  44.          var antAnim:MovieClip = null;
  45.          super();
  46.          stop();
  47.          graphics.beginFill(0);
  48.          graphics.drawRect(0,0,400,400);
  49.          graphics.endFill();
  50.          ON_KONG = stage.loaderInfo.loaderURL.indexOf("kongregate.com") >= 0;
  51.          ON_BICLOPS = stage.loaderInfo.loaderURL.indexOf("biclopsgames.com") >= 0;
  52.          Links.stage = stage;
  53.          stage.frameRate = 30;
  54.          stage.tabChildren = false;
  55.          cMenu = new ContextMenu();
  56.          cMenu.hideBuiltInItems();
  57.          cMenuItem = new ContextMenuItem("Created by Biclops Games");
  58.          cMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,Links.biclopsLink);
  59.          cMenu.customItems.push(cMenuItem);
  60.          cMenuItem = new ContextMenuItem("Sponsored by Kongregate.com");
  61.          cMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,Links.sponsorLink);
  62.          cMenu.customItems.push(cMenuItem);
  63.          this.contextMenu = cMenu;
  64.          if(ON_KONG)
  65.          {
  66.             preloader = new Preloader();
  67.             preloader.stop();
  68.             preloader.addFrameScript(preloader.totalFrames - 1,preloaderEnd);
  69.             addChild(preloader);
  70.             barHouse = preloader.getChildByName("barHouse") as Sprite;
  71.             bar = barHouse.getChildByName("bar") as Sprite;
  72.             kongButton = preloader.getChildByName("kongButton") as SimpleButton;
  73.             kongButton.addEventListener(MouseEvent.CLICK,Links.sponsorLink,false,0,true);
  74.             biclopsButton = preloader.getChildByName("biclopsButton") as SimpleButton;
  75.             biclopsButton.addEventListener(MouseEvent.CLICK,Links.biclopsLink,false,0,true);
  76.             antAnim = preloader.getChildByName("antAnim") as MovieClip;
  77.             antAnim.addFrameScript(antAnim.totalFrames - 1,function():void
  78.             {
  79.                antAnim.stop();
  80.                antAnimFinished();
  81.             });
  82.             addEventListener(Event.ENTER_FRAME,onEnterFrame,false,0,true);
  83.          }
  84.          else
  85.          {
  86.             preloader = new MovieClip();
  87.             addChild(preloader);
  88.             MochiAd.showPreGameAd({
  89.                "clip":preloader,
  90.                "id":"1b810d465c3e11d5",
  91.                "res":"400x400",
  92.                "ad_finished":adFinished
  93.             });
  94.          }
  95.       }
  96.       
  97.       public function startGame() : void
  98.       {
  99.          var _loc2_:Object = null;
  100.          if(Boolean(preloader) && Boolean(preloader.parent))
  101.          {
  102.             preloader.parent.removeChild(preloader);
  103.          }
  104.          preloader = null;
  105.          bar = null;
  106.          nextFrame();
  107.          var _loc1_:Class = getDefinitionByName("Game") as Class;
  108.          if(_loc1_)
  109.          {
  110.             _loc2_ = new _loc1_();
  111.             addChild(_loc2_ as DisplayObject);
  112.          }
  113.       }
  114.       
  115.       private function playClick(param1:MouseEvent) : void
  116.       {
  117.          intro.play();
  118.       }
  119.       
  120.       private function preloaderEnd() : void
  121.       {
  122.          preloader.stop();
  123.          startGame();
  124.       }
  125.       
  126.       private function finishedLoading() : void
  127.       {
  128.          removeEventListener(Event.ENTER_FRAME,onEnterFrame);
  129.          loadFinished = true;
  130.          if(loadFinished && antFinished)
  131.          {
  132.             preloader.play();
  133.          }
  134.       }
  135.       
  136.       private function antAnimFinished() : void
  137.       {
  138.          antFinished = true;
  139.          if(loadFinished && antFinished)
  140.          {
  141.             preloader.play();
  142.          }
  143.       }
  144.       
  145.       private function onEnterFrame(param1:Event) : void
  146.       {
  147.          var _loc2_:Number = root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal;
  148.          bar.x = 300 * (_loc2_ - 1);
  149.          if(framesLoaded == totalFrames)
  150.          {
  151.             finishedLoading();
  152.          }
  153.       }
  154.       
  155.       private function adFinished() : void
  156.       {
  157.          var kongButton:SimpleButton;
  158.          var biclopsButton:SimpleButton;
  159.          var playFrame:int;
  160.          var labels:Array;
  161.          var antAnim:MovieClip = null;
  162.          var label:FrameLabel = null;
  163.          var playButton:SimpleButton = null;
  164.          intro = new Intro();
  165.          kongButton = intro.getChildByName("kongButton") as SimpleButton;
  166.          kongButton.addEventListener(MouseEvent.CLICK,Links.sponsorLink,false,0,true);
  167.          biclopsButton = intro.getChildByName("biclopsButton") as SimpleButton;
  168.          biclopsButton.addEventListener(MouseEvent.CLICK,Links.biclopsLink,false,0,true);
  169.          antAnim = intro.getChildByName("antAnim") as MovieClip;
  170.          antAnim.addFrameScript(antAnim.totalFrames - 1,function():void
  171.          {
  172.             antAnim.stop();
  173.          });
  174.          playFrame = 100;
  175.          labels = intro.currentLabels;
  176.          for each(label in labels)
  177.          {
  178.             if(label.name == "Play Frame")
  179.             {
  180.                playFrame = label.frame;
  181.                break;
  182.             }
  183.          }
  184.          playButton = intro.getChildByName("playButton") as SimpleButton;
  185.          if(playButton)
  186.          {
  187.             playButton.addEventListener(MouseEvent.CLICK,playClick,false,0,true);
  188.             intro.addFrameScript(playFrame - 1,function():void
  189.             {
  190.                intro.stop();
  191.             });
  192.          }
  193.          intro.addFrameScript(intro.totalFrames - 1,function():void
  194.          {
  195.             intro.stop();
  196.             removeChild(intro);
  197.             startGame();
  198.          });
  199.          addChild(intro);
  200.       }
  201.    }
  202. }
  203.