home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / HexiomConnect.swf / scripts / Factory.as < prev    next >
Text File  |  2008-08-29  |  7KB  |  198 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 cMenuItem:ContextMenuItem = null;
  40.          var barHouse:Sprite = null;
  41.          var kongButton:SimpleButton = null;
  42.          var biclopsButton:SimpleButton = null;
  43.          var antAnim:MovieClip = null;
  44.          super();
  45.          stop();
  46.          graphics.beginFill(0);
  47.          graphics.drawRect(0,0,400,400);
  48.          graphics.endFill();
  49.          ON_KONG = stage.loaderInfo.loaderURL.indexOf("kongregate.com") >= 0;
  50.          ON_BICLOPS = stage.loaderInfo.loaderURL.indexOf("biclopsgames.com") >= 0;
  51.          Links.stage = stage;
  52.          stage.frameRate = 30;
  53.          stage.tabChildren = false;
  54.          var cMenu:ContextMenu = new ContextMenu();
  55.          cMenu.hideBuiltInItems();
  56.          cMenuItem = new ContextMenuItem("Created by Biclops Games");
  57.          cMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,Links.biclopsLink);
  58.          cMenu.customItems.push(cMenuItem);
  59.          cMenuItem = new ContextMenuItem("Sponsored by Kongregate.com");
  60.          cMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,Links.sponsorLink);
  61.          cMenu.customItems.push(cMenuItem);
  62.          this.contextMenu = cMenu;
  63.          if(ON_KONG)
  64.          {
  65.             preloader = new Preloader();
  66.             preloader.stop();
  67.             preloader.addFrameScript(preloader.totalFrames - 1,preloaderEnd);
  68.             addChild(preloader);
  69.             barHouse = preloader.getChildByName("barHouse") as Sprite;
  70.             bar = barHouse.getChildByName("bar") as Sprite;
  71.             kongButton = preloader.getChildByName("kongButton") as SimpleButton;
  72.             kongButton.addEventListener(MouseEvent.CLICK,Links.sponsorLink,false,0,true);
  73.             biclopsButton = preloader.getChildByName("biclopsButton") as SimpleButton;
  74.             biclopsButton.addEventListener(MouseEvent.CLICK,Links.biclopsLink,false,0,true);
  75.             antAnim = preloader.getChildByName("antAnim") as MovieClip;
  76.             antAnim.addFrameScript(antAnim.totalFrames - 1,function():void
  77.             {
  78.                antAnim.stop();
  79.                antAnimFinished();
  80.             });
  81.             addEventListener(Event.ENTER_FRAME,onEnterFrame,false,0,true);
  82.          }
  83.          else
  84.          {
  85.             preloader = new MovieClip();
  86.             addChild(preloader);
  87.             MochiAd.showPreGameAd({
  88.                "clip":preloader,
  89.                "id":"1b810d465c3e11d5",
  90.                "res":"400x400",
  91.                "ad_finished":adFinished
  92.             });
  93.          }
  94.       }
  95.       
  96.       public function startGame() : void
  97.       {
  98.          var _loc2_:Object = null;
  99.          if(preloader && preloader.parent)
  100.          {
  101.             preloader.parent.removeChild(preloader);
  102.          }
  103.          preloader = null;
  104.          bar = null;
  105.          nextFrame();
  106.          var _loc1_:Class = getDefinitionByName("Game") as Class;
  107.          if(_loc1_)
  108.          {
  109.             _loc2_ = new _loc1_();
  110.             addChild(_loc2_ as DisplayObject);
  111.          }
  112.       }
  113.       
  114.       private function playClick(param1:MouseEvent) : void
  115.       {
  116.          intro.play();
  117.       }
  118.       
  119.       private function preloaderEnd() : void
  120.       {
  121.          preloader.stop();
  122.          startGame();
  123.       }
  124.       
  125.       private function finishedLoading() : void
  126.       {
  127.          removeEventListener(Event.ENTER_FRAME,onEnterFrame);
  128.          loadFinished = true;
  129.          if(loadFinished && antFinished)
  130.          {
  131.             preloader.play();
  132.          }
  133.       }
  134.       
  135.       private function antAnimFinished() : void
  136.       {
  137.          antFinished = true;
  138.          if(loadFinished && antFinished)
  139.          {
  140.             preloader.play();
  141.          }
  142.       }
  143.       
  144.       private function onEnterFrame(param1:Event) : void
  145.       {
  146.          var _loc2_:Number = root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal;
  147.          bar.x = 300 * (_loc2_ - 1);
  148.          if(framesLoaded == totalFrames)
  149.          {
  150.             finishedLoading();
  151.          }
  152.       }
  153.       
  154.       private function adFinished() : void
  155.       {
  156.          var antAnim:MovieClip = null;
  157.          var label:FrameLabel = null;
  158.          var playButton:SimpleButton = null;
  159.          intro = new Intro();
  160.          var kongButton:SimpleButton = intro.getChildByName("kongButton") as SimpleButton;
  161.          kongButton.addEventListener(MouseEvent.CLICK,Links.sponsorLink,false,0,true);
  162.          var biclopsButton:SimpleButton = intro.getChildByName("biclopsButton") as SimpleButton;
  163.          biclopsButton.addEventListener(MouseEvent.CLICK,Links.biclopsLink,false,0,true);
  164.          antAnim = intro.getChildByName("antAnim") as MovieClip;
  165.          antAnim.addFrameScript(antAnim.totalFrames - 1,function():void
  166.          {
  167.             antAnim.stop();
  168.          });
  169.          var playFrame:int = 100;
  170.          var labels:Array = intro.currentLabels;
  171.          for each(label in labels)
  172.          {
  173.             if(label.name == "Play Frame")
  174.             {
  175.                playFrame = label.frame;
  176.                break;
  177.             }
  178.          }
  179.          playButton = intro.getChildByName("playButton") as SimpleButton;
  180.          if(playButton)
  181.          {
  182.             playButton.addEventListener(MouseEvent.CLICK,playClick,false,0,true);
  183.             intro.addFrameScript(playFrame - 1,function():void
  184.             {
  185.                intro.stop();
  186.             });
  187.          }
  188.          intro.addFrameScript(intro.totalFrames - 1,function():void
  189.          {
  190.             intro.stop();
  191.             removeChild(intro);
  192.             startGame();
  193.          });
  194.          addChild(intro);
  195.       }
  196.    }
  197. }
  198.