home *** CD-ROM | disk | FTP | other *** search
- package game
- {
- import flash.display.MovieClip;
- import flash.events.DataEvent;
- import flash.events.Event;
-
- [Embed(source="/_assets/assets.swf", symbol="game.MapField")]
- public class MapField extends MovieClip
- {
-
-
- private var hiddedRoomStateMc:MovieClip;
-
- private var model:Model;
-
- private var rotateCounter:* = 60;
-
- private var broadCaster:BroadCaster;
-
- public var map:MovieClip;
-
- private var cookie:Cookie;
-
- public var _map:*;
-
- private var finishedRooms:Array;
-
- private var currentPosition:Object;
-
- private var rotateOffset:* = 0;
-
- public function MapField()
- {
- rotateOffset = 0;
- rotateCounter = 60;
- super();
- cookie = Cookie.getInstance();
- _map = this.getChildByName("map");
- model = Model.getInstance();
- hiddedRoomStateMc = _map.getChildByName("room25") as MovieClip;
- initRoom();
- }
-
- public function setRotation(param1:Number) : void
- {
- rotateOffset = param1;
- rotateCounter = 0;
- this.addEventListener(Event.ENTER_FRAME,changeRotation);
- }
-
- public function initRoom() : void
- {
- var _loc1_:* = undefined;
- var _loc2_:MovieClip = null;
- finishedRooms = Model.getInstance().currentData.finished;
- if(finishedRooms == null)
- {
- finishedRooms = new Array();
- }
- for each(_loc1_ in finishedRooms)
- {
- _loc2_ = this._map.getChildByName("room" + _loc1_) as MovieClip;
- _loc2_.gotoAndStop("finished");
- }
- }
-
- public function setCurrentRoom(param1:DataEvent) : void
- {
- var _loc2_:MovieClip = null;
- _loc2_ = this._map.getChildByName("room" + param1.data) as MovieClip;
- _loc2_.gotoAndStop("current");
- }
-
- public function setPrevRoom(param1:String) : void
- {
- var _loc2_:MovieClip = null;
- var _loc3_:Array = null;
- var _loc4_:* = undefined;
- _loc2_ = this._map.getChildByName("room" + param1) as MovieClip;
- if(finishedRooms.indexOf(param1) < 0)
- {
- finishedRooms.push(param1);
- _loc3_ = new Array();
- for each(_loc4_ in finishedRooms)
- {
- _loc3_.push(_loc4_);
- }
- model.currentData.finished = finishedRooms;
- }
- _loc2_.gotoAndStop("finished");
- }
-
- private function changeRotation(param1:Event = null) : void
- {
- var e:Event = param1;
- ++rotateCounter;
- _map.rotation += rotateOffset / 60;
- if(rotateCounter >= 60)
- {
- _map.rotation = Model.rotation;
- checkPosition();
- try
- {
- removeEventListener(Event.ENTER_FRAME,changeRotation);
- }
- catch(e:Error)
- {
- }
- }
- }
-
- public function checkPosition() : void
- {
- var _loc1_:uint = 0;
- _loc1_ = Math.round(Model.rotation / 90);
- while(currentPosition != currentPosition.nPoint[_loc1_])
- {
- currentPosition = currentPosition.nPoint[_loc1_];
- }
- Model.hiddedRoomLocation = currentPosition;
- Model.getInstance().editActiveRoom(currentPosition.point);
- hiddedRoomStateMc.x = currentPosition.position[0];
- hiddedRoomStateMc.y = currentPosition.position[1];
- }
-
- public function saveHiddenMap() : void
- {
- Model.getInstance().currentData.hiddenRoomPosition = [currentPosition.point[0],currentPosition.point[1]];
- }
-
- public function reset() : void
- {
- var _loc1_:Array = null;
- var _loc2_:* = undefined;
- _map.rotation = Model.rotation;
- _loc1_ = Model.getInstance().currentData.hiddenRoomPosition;
- if(_loc1_ == null)
- {
- currentPosition = model.hiddenRoomSets[8];
- checkPosition();
- }
- else
- {
- for each(_loc2_ in model.hiddenRoomSets)
- {
- if(_loc2_.point[0] == _loc1_[0] && _loc2_.point[1] == _loc1_[1])
- {
- currentPosition = _loc2_;
- checkPosition();
- }
- }
- }
- }
-
- public function setHiddenRoom() : void
- {
- }
- }
- }
-