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

  1. package game
  2. {
  3.    import flash.display.MovieClip;
  4.    import flash.events.DataEvent;
  5.    import flash.events.Event;
  6.    
  7.    [Embed(source="/_assets/assets.swf", symbol="game.MapField")]
  8.    public class MapField extends MovieClip
  9.    {
  10.        
  11.       
  12.       private var hiddedRoomStateMc:MovieClip;
  13.       
  14.       private var model:Model;
  15.       
  16.       private var rotateCounter:* = 60;
  17.       
  18.       private var broadCaster:BroadCaster;
  19.       
  20.       public var map:MovieClip;
  21.       
  22.       private var cookie:Cookie;
  23.       
  24.       public var _map:*;
  25.       
  26.       private var finishedRooms:Array;
  27.       
  28.       private var currentPosition:Object;
  29.       
  30.       private var rotateOffset:* = 0;
  31.       
  32.       public function MapField()
  33.       {
  34.          rotateOffset = 0;
  35.          rotateCounter = 60;
  36.          super();
  37.          cookie = Cookie.getInstance();
  38.          _map = this.getChildByName("map");
  39.          model = Model.getInstance();
  40.          hiddedRoomStateMc = _map.getChildByName("room25") as MovieClip;
  41.          initRoom();
  42.       }
  43.       
  44.       public function setRotation(param1:Number) : void
  45.       {
  46.          rotateOffset = param1;
  47.          rotateCounter = 0;
  48.          this.addEventListener(Event.ENTER_FRAME,changeRotation);
  49.       }
  50.       
  51.       public function initRoom() : void
  52.       {
  53.          var _loc1_:* = undefined;
  54.          var _loc2_:MovieClip = null;
  55.          finishedRooms = Model.getInstance().currentData.finished;
  56.          if(finishedRooms == null)
  57.          {
  58.             finishedRooms = new Array();
  59.          }
  60.          for each(_loc1_ in finishedRooms)
  61.          {
  62.             _loc2_ = this._map.getChildByName("room" + _loc1_) as MovieClip;
  63.             _loc2_.gotoAndStop("finished");
  64.          }
  65.       }
  66.       
  67.       public function setCurrentRoom(param1:DataEvent) : void
  68.       {
  69.          var _loc2_:MovieClip = null;
  70.          _loc2_ = this._map.getChildByName("room" + param1.data) as MovieClip;
  71.          _loc2_.gotoAndStop("current");
  72.       }
  73.       
  74.       public function setPrevRoom(param1:String) : void
  75.       {
  76.          var _loc2_:MovieClip = null;
  77.          var _loc3_:Array = null;
  78.          var _loc4_:* = undefined;
  79.          _loc2_ = this._map.getChildByName("room" + param1) as MovieClip;
  80.          if(finishedRooms.indexOf(param1) < 0)
  81.          {
  82.             finishedRooms.push(param1);
  83.             _loc3_ = new Array();
  84.             for each(_loc4_ in finishedRooms)
  85.             {
  86.                _loc3_.push(_loc4_);
  87.             }
  88.             model.currentData.finished = finishedRooms;
  89.          }
  90.          _loc2_.gotoAndStop("finished");
  91.       }
  92.       
  93.       private function changeRotation(param1:Event = null) : void
  94.       {
  95.          var e:Event = param1;
  96.          ++rotateCounter;
  97.          _map.rotation += rotateOffset / 60;
  98.          if(rotateCounter >= 60)
  99.          {
  100.             _map.rotation = Model.rotation;
  101.             checkPosition();
  102.             try
  103.             {
  104.                removeEventListener(Event.ENTER_FRAME,changeRotation);
  105.             }
  106.             catch(e:Error)
  107.             {
  108.             }
  109.          }
  110.       }
  111.       
  112.       public function checkPosition() : void
  113.       {
  114.          var _loc1_:uint = 0;
  115.          _loc1_ = Math.round(Model.rotation / 90);
  116.          while(currentPosition != currentPosition.nPoint[_loc1_])
  117.          {
  118.             currentPosition = currentPosition.nPoint[_loc1_];
  119.          }
  120.          Model.hiddedRoomLocation = currentPosition;
  121.          Model.getInstance().editActiveRoom(currentPosition.point);
  122.          hiddedRoomStateMc.x = currentPosition.position[0];
  123.          hiddedRoomStateMc.y = currentPosition.position[1];
  124.       }
  125.       
  126.       public function saveHiddenMap() : void
  127.       {
  128.          Model.getInstance().currentData.hiddenRoomPosition = [currentPosition.point[0],currentPosition.point[1]];
  129.       }
  130.       
  131.       public function reset() : void
  132.       {
  133.          var _loc1_:Array = null;
  134.          var _loc2_:* = undefined;
  135.          _map.rotation = Model.rotation;
  136.          _loc1_ = Model.getInstance().currentData.hiddenRoomPosition;
  137.          if(_loc1_ == null)
  138.          {
  139.             currentPosition = model.hiddenRoomSets[8];
  140.             checkPosition();
  141.          }
  142.          else
  143.          {
  144.             for each(_loc2_ in model.hiddenRoomSets)
  145.             {
  146.                if(_loc2_.point[0] == _loc1_[0] && _loc2_.point[1] == _loc1_[1])
  147.                {
  148.                   currentPosition = _loc2_;
  149.                   checkPosition();
  150.                }
  151.             }
  152.          }
  153.       }
  154.       
  155.       public function setHiddenRoom() : void
  156.       {
  157.       }
  158.    }
  159. }
  160.