home *** CD-ROM | disk | FTP | other *** search
- package elements
- {
- import flash.display.MovieClip;
- import game.BroadCaster;
- import game.Model;
-
- [Embed(source="/_assets/assets.swf", symbol="elements.ManItem")]
- public class ManItem extends Item
- {
-
-
- private var model:Model;
-
- private var shadows:Array;
-
- public var _man:MovieClip;
-
- public var man_n:MovieClip;
-
- private var _width:Number = 6;
-
- public var man_p:MovieClip;
-
- private var _man_p:MovieClip;
-
- private var _man_n:MovieClip;
-
- public function ManItem(param1:Number = 0, param2:Number = 0)
- {
- var _loc3_:Number = NaN;
- _width = 6;
- shadows = new Array();
- _loc3_ = 20;
- super(param1,param2,_width,_loc3_);
- model = Model.getInstance();
- _man_n = getChildByName("man_n") as MovieClip;
- _man_p = getChildByName("man_p") as MovieClip;
- setWindForece();
- }
-
- public function setSize0() : void
- {
- itemHeight = itemWidth = 2;
- }
-
- override public function moveTo() : void
- {
- var _loc1_:* = undefined;
- var _loc2_:* = undefined;
- var _loc3_:Number = NaN;
- var _loc4_:Number = NaN;
- var _loc5_:* = undefined;
- var _loc6_:* = undefined;
- var _loc7_:* = undefined;
- var _loc8_:* = undefined;
- var _loc9_:* = undefined;
- var _loc10_:Number = NaN;
- var _loc11_:Number = NaN;
- var _loc12_:* = undefined;
- var _loc13_:Number = NaN;
- var _loc14_:Number = NaN;
- var _loc15_:* = undefined;
- var _loc16_:Number = NaN;
- var _loc17_:Number = NaN;
- var _loc18_:* = undefined;
- var _loc19_:Number = NaN;
- var _loc20_:Number = NaN;
- var _loc21_:Object = null;
- var _loc22_:* = undefined;
- var _loc23_:Number = NaN;
- var _loc24_:Number = NaN;
- for each(_loc1_ in model.currentRoom.books)
- {
- _loc2_ = _loc1_.items[0];
- _loc3_ = 0.5 * (itemWidth + _loc2_.itemWidth);
- _loc4_ = 0.5 * (itemHeight + _loc2_.itemHeight);
- if(Math.abs(xPosition - _loc2_.tx) < _loc3_ - 10 && Math.abs(yPosition - _loc2_.ty) < _loc4_ - 10)
- {
- _loc1_.removeAllItems();
- }
- }
- if(Model.state == "normal" && !Model.isGameOver)
- {
- for each(_loc5_ in model.currentRoom.keys)
- {
- _loc9_ = _loc5_.items[0];
- _loc10_ = 0.5 * (itemWidth + _loc9_.itemWidth);
- _loc11_ = 0.5 * (itemHeight + _loc9_.itemHeight);
- if(Math.abs(xPosition - _loc9_.tx) < _loc10_ - 10 && Math.abs(yPosition - _loc9_.ty) < _loc11_ - 10)
- {
- _loc5_.removeAllItems();
- }
- }
- for each(_loc6_ in model.currentRoom.exits)
- {
- _loc12_ = _loc6_.items[0];
- _loc13_ = 0.5 * (itemWidth + _loc12_.itemWidth);
- _loc14_ = 0.5 * (itemHeight + _loc12_.itemHeight);
- if(Math.abs(xPosition - _loc12_.tx) < _loc13_ && Math.abs(yPosition - _loc12_.ty) < _loc14_)
- {
- BroadCaster.getInstance().run("onGameWin",String(_loc6_.exitSign) + ":" + group.dir);
- return;
- }
- }
- for each(_loc7_ in model.currentRoom.spikes)
- {
- _loc15_ = _loc7_.items[0];
- _loc16_ = 0.5 * (itemWidth + _loc15_.itemWidth);
- _loc17_ = 0.5 * (itemHeight + _loc15_.itemHeight);
- if(Math.abs(xPosition - _loc15_.tx) <= _loc16_ && Math.abs(yPosition - _loc15_.ty) <= _loc17_)
- {
- group.setSize0();
- Model.isGameOver = true;
- BroadCaster.getInstance().run("onPlayerDied","3");
- break;
- }
- }
- for each(_loc8_ in model.currentRoom.winds)
- {
- _loc18_ = _loc8_.items[0];
- _loc19_ = 0.5 * (itemWidth + _loc18_.itemWidth);
- _loc20_ = 0.5 * (itemHeight + _loc18_.itemHeight);
- if(Math.abs(xPosition - _loc18_.tx) < _loc19_ - 10 && Math.abs(yPosition - _loc18_.ty) < _loc20_ - 10)
- {
- Model.hasP = true;
- setWindForece();
- _loc8_.removeAllItems();
- break;
- }
- }
- }
- else if(Model.state == "map")
- {
- _loc21_ = "";
- for each(_loc22_ in model.mapEntrances)
- {
- if(Math.abs(xPosition - _loc22_.x) <= itemWidth / 2 + 4 && Math.abs(yPosition - _loc22_.y) <= itemHeight / 2 + 4)
- {
- _loc23_ = Math.round(_loc22_.point[1] * 50 - _loc22_.x);
- _loc24_ = Math.round(_loc22_.point[0] * 50 - _loc22_.y);
- if(model.currentRoomId != _loc22_.id && model.currentRoomId != 0)
- {
- BroadCaster.getInstance().run("onEnterRoom",String(_loc22_.id) + ":" + _loc22_.entranceId + ":" + group.dir);
- break;
- }
- if(model.currentRoomId != _loc22_.id)
- {
- switch(group.counter)
- {
- case 0:
- if(_loc23_ > 0 && Model.KEY_RIGHT || _loc23_ < 0 && Model.KEY_LEFT || _loc24_ > 0 && Model.KEY_DOWN || _loc24_ < 0 && Model.KEY_UP)
- {
- BroadCaster.getInstance().run("onEnterRoom",String(_loc22_.id) + ":" + _loc22_.entranceId + ":" + group.dir);
- }
- break;
- case 1:
- if(_loc24_ < 0 && Model.KEY_RIGHT || _loc24_ > 0 && Model.KEY_LEFT || _loc23_ > 0 && Model.KEY_DOWN || _loc23_ < 0 && Model.KEY_UP)
- {
- BroadCaster.getInstance().run("onEnterRoom",String(_loc22_.id) + ":" + _loc22_.entranceId + ":" + group.dir);
- }
- break;
- case 2:
- if(_loc23_ < 0 && Model.KEY_RIGHT || _loc23_ > 0 && Model.KEY_LEFT || _loc24_ < 0 && Model.KEY_DOWN || _loc24_ > 0 && Model.KEY_UP)
- {
- BroadCaster.getInstance().run("onEnterRoom",String(_loc22_.id) + ":" + _loc22_.entranceId + ":" + group.dir);
- }
- break;
- case 3:
- if(_loc24_ > 0 && Model.KEY_RIGHT || _loc24_ < 0 && Model.KEY_LEFT || _loc23_ < 0 && Model.KEY_DOWN || _loc23_ > 0 && Model.KEY_UP)
- {
- BroadCaster.getInstance().run("onEnterRoom",String(_loc22_.id) + ":" + _loc22_.entranceId + ":" + group.dir);
- }
- }
- break;
- }
- switch(group.counter)
- {
- case 0:
- if(_loc23_ > 0 && Model.KEY_RIGHT || _loc23_ < 0 && Model.KEY_LEFT || _loc24_ > 0 && Model.KEY_DOWN || _loc24_ < 0 && Model.KEY_UP)
- {
- BroadCaster.getInstance().run("onEnterRoom",String(_loc22_.id) + ":" + _loc22_.entranceId + ":" + group.dir);
- }
- break;
- case 1:
- if(_loc24_ < 0 && Model.KEY_RIGHT || _loc24_ > 0 && Model.KEY_LEFT || _loc23_ > 0 && Model.KEY_DOWN || _loc23_ < 0 && Model.KEY_UP)
- {
- BroadCaster.getInstance().run("onEnterRoom",String(_loc22_.id) + ":" + _loc22_.entranceId + ":" + group.dir);
- }
- break;
- case 2:
- if(_loc23_ < 0 && Model.KEY_RIGHT || _loc23_ > 0 && Model.KEY_LEFT || _loc24_ < 0 && Model.KEY_DOWN || _loc24_ > 0 && Model.KEY_UP)
- {
- BroadCaster.getInstance().run("onEnterRoom",String(_loc22_.id) + ":" + _loc22_.entranceId + ":" + group.dir);
- }
- break;
- case 3:
- if(_loc24_ > 0 && Model.KEY_RIGHT || _loc24_ < 0 && Model.KEY_LEFT || _loc23_ < 0 && Model.KEY_DOWN || _loc23_ > 0 && Model.KEY_UP)
- {
- BroadCaster.getInstance().run("onEnterRoom",String(_loc22_.id) + ":" + _loc22_.entranceId + ":" + group.dir);
- }
- }
- if(model.currentRoomId == _loc22_.id)
- {
- _loc21_ = _loc22_;
- }
- }
- }
- if(_loc21_ != null && _loc21_ != "")
- {
- switch(_loc21_.dir)
- {
- case "L":
- xPosition = _loc21_.x - itemWidth / 2;
- break;
- case "R":
- xPosition = _loc21_.x + itemWidth / 2;
- break;
- case "B":
- yPosition = _loc21_.y + itemHeight / 2;
- break;
- case "T":
- yPosition = _loc21_.y - itemHeight / 2;
- }
- }
- else if(_loc21_ == "")
- {
- model.currentRoomId = 0;
- }
- group.items[0].resetPosition(xPosition,yPosition);
- group.items[1].resetPosition(xPosition,yPosition);
- }
- super.moveTo();
- }
-
- public function setWindForece() : void
- {
- if(Model.hasP)
- {
- _man = _man_p;
- _man_n.visible = false;
- _man_p.visible = true;
- }
- else
- {
- _man = _man_n;
- _man_p.visible = false;
- _man_n.visible = true;
- }
- if(group != null)
- {
- group.doAction("stand");
- }
- }
-
- public function resetPosition(param1:Number, param2:Number) : void
- {
- this.x = this.tx = this.xPosition = param1;
- this.y = this.ty = this.yPosition = param2;
- }
-
- override public function set rotation(param1:Number) : void
- {
- tx = xPosition = this.x = Math.round(tx / 25) * 25;
- ty = yPosition = this.y = Math.round(ty / 25) * 25;
- super.rotation = -param1;
- if(Math.round(Math.sin(Math.PI * param1 / 180)) == 0)
- {
- itemHeight = 20;
- itemWidth = _width;
- }
- else
- {
- itemHeight = _width;
- itemWidth = 20;
- }
- }
- }
- }
-