home *** CD-ROM | disk | FTP | other *** search
- package ENGINE.GAME
- {
- public class OScoresTable
- {
-
-
- public var iTable:Array;
-
- public var iMaxElements:int;
-
- public function OScoresTable(param1:int = 1, param2:int = 10)
- {
- var _loc3_:int = 0;
- super();
- this.iMaxElements = param2;
- this.iTable = new Array();
- _loc3_ = 0;
- while(_loc3_ < param1)
- {
- this.iTable[_loc3_] = new Array();
- _loc3_++;
- }
- }
-
- public function FindByName(param1:int, param2:String) : int
- {
- var _loc3_:int = 0;
- _loc3_ = 0;
- while(_loc3_ < this.iTable[param1].length)
- {
- if(this.iTable[param1][_loc3_].iName == param2)
- {
- return _loc3_;
- }
- _loc3_++;
- }
- return -1;
- }
-
- public function Clear(param1:int) : void
- {
- this.iTable[param1] = new Array();
- }
-
- public function GetRecord(param1:int) : int
- {
- if(!this.iTable[param1].length)
- {
- return 0;
- }
- return this.iTable[param1][0].iScore;
- }
-
- public function AddScore(param1:String, param2:int, param3:int, param4:int, param5:Boolean = false) : Boolean
- {
- var _loc6_:Array = null;
- var _loc7_:int = 0;
- if((_loc6_ = this.iTable[param3]).length < this.iMaxElements || _loc6_[_loc6_.length - 1].iScore < param2)
- {
- if((_loc7_ = param5 ? -1 : this.FindByName(param3,param1)) >= 0)
- {
- if(param2 < _loc6_[_loc7_].iScore)
- {
- return false;
- }
- _loc6_[_loc7_] = new OScoreParams(param1,param2,param4);
- this.SortOn(param3);
- return true;
- }
- if(_loc6_.length < this.iMaxElements)
- {
- _loc6_[_loc6_.length] = new OScoreParams(param1,param2,param4);
- this.SortOn(param3);
- return true;
- }
- if(_loc6_[_loc6_.length - 1].iScore > param2)
- {
- return false;
- }
- _loc6_[_loc6_.length - 1] = new OScoreParams(param1,param2,param4);
- this.SortOn(param3);
- return true;
- }
- return false;
- }
-
- public function IsRecord(param1:int, param2:int) : Boolean
- {
- if(!this.iTable[param1].length)
- {
- return true;
- }
- return param2 >= this.iTable[param1][0].iScore;
- }
-
- public function GetScore(param1:int, param2:int) : OScoreParams
- {
- return this.iTable[param1][param2];
- }
-
- public function SortOn(param1:int) : void
- {
- this.iTable[param1] = this.iTable[param1].sortOn("iScore",Array.DESCENDING | Array.NUMERIC);
- }
- }
- }
-