home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / Never_End.swf / scripts / game / UserMenu.as < prev   
Encoding:
Text File  |  2008-09-23  |  12.8 KB  |  353 lines

  1. package game
  2. {
  3.    import flash.display.MovieClip;
  4.    import flash.events.Event;
  5.    import flash.events.MouseEvent;
  6.    import flash.net.URLRequest;
  7.    import flash.net.navigateToURL;
  8.    import flash.text.TextField;
  9.    
  10.    [Embed(source="/_assets/assets.swf", symbol="game.UserMenu")]
  11.    public class UserMenu extends MovieClip
  12.    {
  13.        
  14.       
  15.       private var selectedUser:int = -1;
  16.       
  17.       private var users:Array;
  18.       
  19.       private var yesBtn:MovieClip;
  20.       
  21.       private var sureBtn:MovieClip;
  22.       
  23.       private var model:Model;
  24.       
  25.       public var alert2:MovieClip;
  26.       
  27.       public var alert:MovieClip;
  28.       
  29.       private var profileDialog:MovieClip;
  30.       
  31.       private var cookie:Cookie;
  32.       
  33.       private var b_logo:MovieClip;
  34.       
  35.       private var confirmDialog:MovieClip;
  36.       
  37.       private var confirmBtn:MovieClip;
  38.       
  39.       public var _b_logo:MovieClip;
  40.       
  41.       private var cancelBtn:MovieClip;
  42.       
  43.       public var profile:MovieClip;
  44.       
  45.       public var list:MovieClip;
  46.       
  47.       private var nameDialog:MovieClip;
  48.       
  49.       private var user_2:MovieClip;
  50.       
  51.       private var nameString:String = "";
  52.       
  53.       private var deleteBtn:MovieClip;
  54.       
  55.       private var user_1:MovieClip;
  56.       
  57.       private var user_3:MovieClip;
  58.       
  59.       private var createBtn:MovieClip;
  60.       
  61.       private var alertDialog:MovieClip;
  62.       
  63.       private var listMc:MovieClip;
  64.       
  65.       private var noBtn:MovieClip;
  66.       
  67.       private var okBtn:MovieClip;
  68.       
  69.       public var typeName:MovieClip;
  70.       
  71.       public function UserMenu()
  72.       {
  73.          selectedUser = -1;
  74.          nameString = "";
  75.          super();
  76.          cookie = Cookie.getInstance();
  77.          model = Model.getInstance();
  78.          b_logo = getChildByName("_b_logo") as MovieClip;
  79.          listMc = getChildByName("list") as MovieClip;
  80.          nameDialog = getChildByName("typeName") as MovieClip;
  81.          alertDialog = getChildByName("alert") as MovieClip;
  82.          confirmDialog = getChildByName("alert2") as MovieClip;
  83.          profileDialog = getChildByName("profile") as MovieClip;
  84.          deleteBtn = listMc.getChildByName("btn_delete") as MovieClip;
  85.          confirmBtn = listMc.getChildByName("btn_confirm") as MovieClip;
  86.          createBtn = listMc.getChildByName("btn_create") as MovieClip;
  87.          okBtn = nameDialog.getChildByName("okBtn") as MovieClip;
  88.          sureBtn = confirmDialog.getChildByName("okBtn") as MovieClip;
  89.          cancelBtn = nameDialog.getChildByName("cancelBtn") as MovieClip;
  90.          noBtn = alertDialog.getChildByName("noBtn") as MovieClip;
  91.          yesBtn = alertDialog.getChildByName("yesBtn") as MovieClip;
  92.          user_1 = listMc.getChildByName("user1") as MovieClip;
  93.          user_2 = listMc.getChildByName("user2") as MovieClip;
  94.          user_3 = listMc.getChildByName("user3") as MovieClip;
  95.          profileDialog.totalMsg.visible = false;
  96.          nameDialog.txt.addEventListener(Event.CHANGE,checkText,false,0,true);
  97.          profileDialog.B_T.addEventListener(MouseEvent.CLICK,profileUser,false,0,true);
  98.          profileDialog.B_1.addEventListener(MouseEvent.CLICK,showEnd,false,0,true);
  99.          profileDialog.B_2.addEventListener(MouseEvent.CLICK,showEnd,false,0,true);
  100.          profileDialog.B_3.addEventListener(MouseEvent.CLICK,showEnd,false,0,true);
  101.          profileDialog.B_4.addEventListener(MouseEvent.CLICK,showEnd,false,0,true);
  102.          sureBtn.addEventListener(MouseEvent.CLICK,hideConfim,false,0,true);
  103.          deleteBtn.addEventListener(MouseEvent.CLICK,deleteUser,false,0,true);
  104.          confirmBtn.addEventListener(MouseEvent.CLICK,confirmUser,false,0,true);
  105.          createBtn.addEventListener(MouseEvent.CLICK,createUser,false,0,true);
  106.          cancelBtn.addEventListener(MouseEvent.CLICK,hideDialog,false,0,true);
  107.          okBtn.addEventListener(MouseEvent.CLICK,submitName,false,0,true);
  108.          noBtn.addEventListener(MouseEvent.CLICK,hideDialog,false,0,true);
  109.          yesBtn.addEventListener(MouseEvent.CLICK,removeUser,false,0,true);
  110.          user_1.addEventListener(MouseEvent.CLICK,onSelectUser,false,0,true);
  111.          user_2.addEventListener(MouseEvent.CLICK,onSelectUser,false,0,true);
  112.          user_3.addEventListener(MouseEvent.CLICK,onSelectUser,false,0,true);
  113.          b_logo.buttonMode = true;
  114.          b_logo.addEventListener(MouseEvent.CLICK,jumpURL,false,0,true);
  115.          initNameField();
  116.       }
  117.       
  118.       private function showEnd(param1:MouseEvent) : void
  119.       {
  120.          var _loc2_:Object = null;
  121.          profileDialog.B_T.setToogle(false);
  122.          profileDialog.B_1.setToogle(false);
  123.          profileDialog.B_2.setToogle(false);
  124.          profileDialog.B_3.setToogle(false);
  125.          profileDialog.B_4.setToogle(false);
  126.          profileDialog.totalMsg.visible = false;
  127.          param1.currentTarget.setToogle(true);
  128.          _loc2_ = model.getCurrentData()["minData" + param1.currentTarget.name.split("_")[1]];
  129.          _loc2_ = _loc2_ == null ? {
  130.             "time":0,
  131.             "die":0,
  132.             "run":0,
  133.             "rotate":0,
  134.             "jump":0
  135.          } : _loc2_;
  136.          setProfilePage(_loc2_.time,_loc2_.run,_loc2_.die,_loc2_.rotate,_loc2_.jump);
  137.       }
  138.       
  139.       private function setSelect(param1:int) : void
  140.       {
  141.          var _loc2_:TextField = null;
  142.          var _loc3_:MovieClip = null;
  143.          _loc2_ = listMc.getChildByName("txt" + param1) as TextField;
  144.          user_1.setToogle(false);
  145.          user_2.setToogle(false);
  146.          user_3.setToogle(false);
  147.          _loc3_ = param1 == 1 ? user_1 : (param1 == 2 ? user_2 : user_3);
  148.          _loc3_.setToogle(true);
  149.          selectedUser = param1;
  150.          alertDialog.visible = false;
  151.          nameDialog.visible = false;
  152.          confirmDialog.visible = false;
  153.          if(_loc2_.text != "")
  154.          {
  155.             deleteBtn.visible = true;
  156.             confirmBtn.visible = true;
  157.             createBtn.visible = false;
  158.          }
  159.          else
  160.          {
  161.             deleteBtn.visible = false;
  162.             confirmBtn.visible = false;
  163.             createBtn.visible = true;
  164.          }
  165.          profileUser();
  166.       }
  167.       
  168.       private function initNameField() : void
  169.       {
  170.          var _loc1_:int = 0;
  171.          var _loc2_:* = undefined;
  172.          users = cookie.getUsers();
  173.          _loc1_ = 0;
  174.          while(_loc1_ < 3)
  175.          {
  176.             _loc2_ = listMc.getChildByName("txt" + (_loc1_ + 1)) as TextField;
  177.             if(users[_loc1_] != null)
  178.             {
  179.                _loc2_.text = users[_loc1_];
  180.                if(Model.userName == users[_loc1_])
  181.                {
  182.                   setSelect(_loc1_ + 1);
  183.                }
  184.             }
  185.             else
  186.             {
  187.                _loc2_.text = "";
  188.             }
  189.             _loc1_++;
  190.          }
  191.          if(selectedUser < 0)
  192.          {
  193.             setSelect(1);
  194.          }
  195.       }
  196.       
  197.       private function profileUser(param1:MouseEvent = null) : void
  198.       {
  199.          var _loc2_:TextField = null;
  200.          var _loc3_:Object = null;
  201.          var _loc4_:* = undefined;
  202.          var _loc5_:* = undefined;
  203.          var _loc6_:* = undefined;
  204.          var _loc7_:* = undefined;
  205.          var _loc8_:* = undefined;
  206.          var _loc9_:* = undefined;
  207.          var _loc10_:* = undefined;
  208.          var _loc11_:Number = NaN;
  209.          var _loc12_:* = undefined;
  210.          var _loc13_:Number = NaN;
  211.          var _loc14_:Number = NaN;
  212.          var _loc15_:Number = NaN;
  213.          _loc2_ = listMc.getChildByName("txt" + selectedUser) as TextField;
  214.          profileDialog.B_T.setToogle(true);
  215.          profileDialog.B_1.setToogle(false);
  216.          profileDialog.B_2.setToogle(false);
  217.          profileDialog.B_3.setToogle(false);
  218.          profileDialog.B_4.setToogle(false);
  219.          Model.userName = _loc2_.text;
  220.          _loc3_ = model.getCurrentData();
  221.          _loc4_ = (_loc4_ = _loc3_.time) == null ? 0 : _loc4_;
  222.          _loc5_ = (_loc5_ = _loc3_.ran) == null ? 0 : _loc5_;
  223.          _loc6_ = (_loc6_ = _loc3_.jumped) == null ? 0 : _loc6_;
  224.          _loc7_ = (_loc7_ = _loc3_.rotated) == null ? 0 : _loc7_;
  225.          _loc8_ = (_loc8_ = _loc3_.died) == null ? 0 : _loc8_;
  226.          _loc9_ = (_loc9_ = _loc3_.finished) == null ? new Array() : _loc9_;
  227.          _loc10_ = (_loc10_ = _loc3_.cleared) == null ? 0 : _loc10_;
  228.          _loc11_ = 0;
  229.          for each(_loc12_ in _loc9_)
  230.          {
  231.             _loc11_ += model.roomLevel[int(_loc12_) - 1];
  232.          }
  233.          profileDialog.totalMsg.visible = true;
  234.          _loc13_ = Math.floor(_loc4_ / 3600000);
  235.          _loc14_ = Math.floor(_loc4_ / 60000) % 60;
  236.          _loc15_ = Math.floor(_loc4_ / 1000) % 60;
  237.          profileDialog.totalMsg.timeTxt.text = (_loc13_ > 9 ? _loc13_ : 0 + String(_loc13_)) + " :" + (_loc14_ > 9 ? _loc14_ : 0 + String(_loc14_)) + " :" + (_loc15_ > 9 ? _loc15_ : 0 + String(_loc15_));
  238.          profileDialog.totalMsg.diedTxt.text = _loc8_;
  239.          profileDialog.totalMsg.rotateTxt.text = _loc7_;
  240.          profileDialog.totalMsg.jumpTxt.text = _loc6_;
  241.          profileDialog.totalMsg.clearTxt.text = _loc10_;
  242.          profileDialog.totalMsg.completeTxt.text = Math.round(_loc11_ / model.roomLevel[30] * 100) + "%";
  243.          profileDialog.totalMsg.ranTxt.text = Math.round(_loc5_ * 10) / 100 + " m";
  244.       }
  245.       
  246.       private function deleteUser(param1:MouseEvent) : void
  247.       {
  248.          alertDialog.visible = true;
  249.       }
  250.       
  251.       private function onSelectUser(param1:MouseEvent) : void
  252.       {
  253.          setSelect(Number(param1.currentTarget.name.split("user")[1]));
  254.       }
  255.       
  256.       private function setProfilePage(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number) : void
  257.       {
  258.          var _loc6_:Number = NaN;
  259.          var _loc7_:Number = NaN;
  260.          var _loc8_:Number = NaN;
  261.          _loc6_ = Math.floor(param1 / 3600000);
  262.          _loc7_ = Math.floor(param1 / 60000) % 60;
  263.          _loc8_ = Math.floor(param1 / 1000) % 60;
  264.          profileDialog.timeTxt.text = (_loc6_ > 9 ? _loc6_ : 0 + String(_loc6_)) + " :" + (_loc7_ > 9 ? _loc7_ : 0 + String(_loc7_)) + " :" + (_loc8_ > 9 ? _loc8_ : 0 + String(_loc8_));
  265.          profileDialog.diedTxt.text = param3;
  266.          profileDialog.rotateTxt.text = param4;
  267.          profileDialog.jumpTxt.text = param5;
  268.          profileDialog.ranTxt.text = Math.round(param2 * 10) / 100 + " m";
  269.       }
  270.       
  271.       private function hideConfim(param1:MouseEvent) : void
  272.       {
  273.          confirmDialog.visible = false;
  274.          nameDialog.visible = true;
  275.       }
  276.       
  277.       private function hideDialog(param1:MouseEvent = null) : void
  278.       {
  279.          alertDialog.visible = false;
  280.          nameDialog.visible = false;
  281.       }
  282.       
  283.       private function checkText(param1:Event) : void
  284.       {
  285.          if(nameDialog.txt.text.length <= 8)
  286.          {
  287.             nameString = nameDialog.txt.text;
  288.          }
  289.          else
  290.          {
  291.             nameDialog.txt.text = nameString;
  292.          }
  293.       }
  294.       
  295.       private function jumpURL(param1:MouseEvent) : void
  296.       {
  297.          navigateToURL(new URLRequest(Language.url1),"_blank");
  298.       }
  299.       
  300.       private function removeUser(param1:MouseEvent) : void
  301.       {
  302.          var _loc2_:TextField = null;
  303.          _loc2_ = listMc.getChildByName("txt" + selectedUser) as TextField;
  304.          _loc2_.text = "";
  305.          cookie.removeUserAt(selectedUser);
  306.          deleteBtn.visible = false;
  307.          confirmBtn.visible = false;
  308.          setSelect(selectedUser);
  309.       }
  310.       
  311.       private function confirmUser(param1:MouseEvent = null) : void
  312.       {
  313.          var _loc2_:TextField = null;
  314.          _loc2_ = listMc.getChildByName("txt" + selectedUser) as TextField;
  315.          BroadCaster.getInstance().run("onEnterGame","");
  316.          parent.removeChild(this);
  317.       }
  318.       
  319.       private function submitName(param1:MouseEvent = null) : void
  320.       {
  321.          var _loc2_:TextField = null;
  322.          var _loc3_:String = null;
  323.          var _loc4_:TextField = null;
  324.          _loc2_ = nameDialog.getChildByName("txt") as TextField;
  325.          _loc3_ = _loc2_.text;
  326.          if(_loc3_ == "")
  327.          {
  328.             return;
  329.          }
  330.          if(cookie.getUsers().indexOf(_loc3_) >= 0)
  331.          {
  332.             confirmDialog.visible = true;
  333.             nameDialog.visible = false;
  334.          }
  335.          else
  336.          {
  337.             cookie.createUser(_loc3_,selectedUser);
  338.             (_loc4_ = listMc.getChildByName("txt" + selectedUser) as TextField).text = _loc3_;
  339.             setSelect(selectedUser);
  340.          }
  341.       }
  342.       
  343.       private function createUser(param1:MouseEvent = null) : void
  344.       {
  345.          var _loc2_:TextField = null;
  346.          nameDialog.visible = true;
  347.          _loc2_ = nameDialog.getChildByName("txt") as TextField;
  348.          stage.focus = _loc2_;
  349.          _loc2_.text = "";
  350.       }
  351.    }
  352. }
  353.