home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / filler.swf / scripts / com / mochi / TextScoreTable.as < prev   
Encoding:
Text File  |  2008-09-02  |  5.4 KB  |  194 lines

  1. package com.mochi
  2. {
  3.    import flash.display.Sprite;
  4.    import flash.text.TextField;
  5.    import flash.text.TextFormat;
  6.    import flash.text.TextFormatAlign;
  7.    
  8.    public dynamic class TextScoreTable extends Sprite
  9.    {
  10.        
  11.       
  12.       private var _max_scores:Number;
  13.       
  14.       private var _status:TextField;
  15.       
  16.       private var _names:TextField;
  17.       
  18.       public var title:TextField;
  19.       
  20.       private var _scores:TextField;
  21.       
  22.       private var _dates:TextField;
  23.       
  24.       private var _ranks:TextField;
  25.       
  26.       public function TextScoreTable(param1:Number = 10)
  27.       {
  28.          super();
  29.          _max_scores = param1;
  30.       }
  31.       
  32.       public static function commafy(param1:Number) : String
  33.       {
  34.          var _loc2_:Number = NaN;
  35.          var _loc3_:String = null;
  36.          var _loc4_:Array = null;
  37.          _loc2_ = param1;
  38.          if(_loc2_ < 0)
  39.          {
  40.             _loc2_ *= 1;
  41.          }
  42.          _loc3_ = Math.floor(_loc2_).toString();
  43.          _loc4_ = [];
  44.          while(_loc3_.length > 3)
  45.          {
  46.             _loc4_.unshift(_loc3_.slice(_loc3_.length - 3,_loc3_.length));
  47.             _loc3_ = _loc3_.slice(0,_loc3_.length - 3);
  48.          }
  49.          _loc4_.unshift(_loc3_);
  50.          return _loc4_.join(",");
  51.       }
  52.       
  53.       public function init() : void
  54.       {
  55.          title = new_tf("title");
  56.          title.x = 77;
  57.          title.width = 199;
  58.          title.text = "High Scores";
  59.          _status = new_tf("center");
  60.          _status.width = width;
  61.          _status.y = 200;
  62.          _status.width = 360;
  63.          _ranks = new_tf("left");
  64.          _ranks.x = 20;
  65.          _ranks.y = 60;
  66.          _ranks.width = 30;
  67.          _ranks.height = 184;
  68.          _names = new_tf("left");
  69.          _names.x = 45;
  70.          _names.y = 60;
  71.          _names.width = 278;
  72.          _names.height = 184;
  73.          _dates = new_tf("right");
  74.          _dates.x = 159;
  75.          _dates.y = 60;
  76.          _dates.width = 84;
  77.          _dates.height = 184;
  78.          _scores = new_tf("right");
  79.          _scores.x = 230;
  80.          _scores.y = 60;
  81.          _scores.width = 103;
  82.          _scores.height = 184;
  83.          reset();
  84.       }
  85.       
  86.       public function msecToDateString(param1:Number) : String
  87.       {
  88.          var _loc2_:Date = null;
  89.          _loc2_ = new Date(param1);
  90.          return [_loc2_.getFullYear(),1 + _loc2_.getMonth(),_loc2_.getDate()].join("-");
  91.       }
  92.       
  93.       public function reset(param1:String = "") : void
  94.       {
  95.          _ranks.text = "";
  96.          _names.text = "";
  97.          _scores.text = "";
  98.          _dates.text = "";
  99.          _status.text = param1;
  100.       }
  101.       
  102.       public function new_tf(param1:String) : TextField
  103.       {
  104.          var _loc2_:TextField = null;
  105.          _loc2_ = new TextField();
  106.          _loc2_.defaultTextFormat = scoreTextFormat(param1);
  107.          _loc2_.selectable = false;
  108.          addChild(_loc2_);
  109.          return _loc2_;
  110.       }
  111.       
  112.       private function scoreTextFormat(param1:String) : TextFormat
  113.       {
  114.          var _loc2_:TextFormat = null;
  115.          _loc2_ = new TextFormat();
  116.          _loc2_.font = "_sans";
  117.          _loc2_.color = 13421772;
  118.          _loc2_.size = 14;
  119.          if(param1 == "left")
  120.          {
  121.             _loc2_.align = TextFormatAlign.LEFT;
  122.          }
  123.          else if(param1 == "right")
  124.          {
  125.             _loc2_.align = TextFormatAlign.RIGHT;
  126.          }
  127.          else if(param1 == "center")
  128.          {
  129.             _loc2_.align = TextFormatAlign.CENTER;
  130.          }
  131.          else
  132.          {
  133.             if(param1 != "title")
  134.             {
  135.                throw new Error("Invalid text format " + param1);
  136.             }
  137.             _loc2_.align = TextFormatAlign.CENTER;
  138.             _loc2_.color = 16777215;
  139.             _loc2_.size = 32;
  140.          }
  141.          return _loc2_;
  142.       }
  143.       
  144.       public function gotScores(param1:Array, param2:Number = -1) : void
  145.       {
  146.          var _loc3_:Number = NaN;
  147.          var _loc4_:String = null;
  148.          var _loc5_:String = null;
  149.          var _loc6_:String = null;
  150.          var _loc7_:String = null;
  151.          var _loc8_:Number = NaN;
  152.          var _loc9_:Array = null;
  153.          var _loc10_:* = null;
  154.          var _loc11_:String = null;
  155.          var _loc12_:String = null;
  156.          var _loc13_:String = null;
  157.          reset();
  158.          title.text = "High Scores";
  159.          _loc3_ = Math.min(_max_scores,param1.length);
  160.          if(_loc3_ == 0)
  161.          {
  162.             this.mc.status_text = "No high scores yet!";
  163.             return;
  164.          }
  165.          _loc4_ = "";
  166.          _loc5_ = "";
  167.          _loc6_ = "";
  168.          _loc7_ = "";
  169.          _loc8_ = 0;
  170.          while(_loc8_ < _loc3_)
  171.          {
  172.             _loc9_ = param1[_loc8_];
  173.             _loc10_ = _loc8_ + 1 + ".";
  174.             if(_loc8_ == param2)
  175.             {
  176.                _loc10_ = "*" + _loc10_;
  177.             }
  178.             _loc11_ = String(_loc9_[0]);
  179.             _loc12_ = commafy(_loc9_[1]);
  180.             _loc13_ = msecToDateString(_loc9_[2]);
  181.             _loc4_ += _loc10_ + "\n";
  182.             _loc5_ += _loc11_ + "\n";
  183.             _loc6_ += _loc12_ + "\n";
  184.             _loc7_ += _loc13_ + "\n";
  185.             _loc8_++;
  186.          }
  187.          _ranks.text = _loc4_;
  188.          _names.text = _loc5_;
  189.          _scores.text = _loc6_;
  190.          _dates.text = _loc7_;
  191.       }
  192.    }
  193. }
  194.