Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package entities;
- import com.haxepunk.HXP;
- import com.haxepunk.Entity;
- import entities.Player;
- import com.haxepunk.graphics.Spritemap;
- class Exit extends entities.Usable
- {
- public function new(x:Int, y:Int,_locked:Bool)
- {
- super(x,y);
- sprite = new Spritemap("gfx/door.png",64,64);
- sprite.add("closed",[0]);
- sprite.add("opened",[4]);
- sprite.add("open",[0,1,2,3,4],10);
- sprite.add("close",[4,3,2,1,0],10);
- sprite.play("closed");
- graphic = sprite;
- opened = false;
- locked = _locked;
- setHitbox(64,64);
- layer = 5;
- dist = 64;
- }
- private function hasOpened()
- {
- sprite.callbackFunc = null;
- opened = true;
- sprite.play("opened");
- if(links.length > 0)
- {
- }
- use(_player);
- }
- private function hasClosed()
- {
- sprite.callbackFunc = null;
- opened = false;
- sprite.play("closed");
- }
- public override function use(player:Player)
- {
- _player = player;
- if(!opened && !locked)
- {
- sprite.play("open");
- sprite.callbackFunc = hasOpened;
- }
- if(opened)
- {
- sprite.play("close");
- sprite.callbackFunc = hasClosed;
- }
- }
- public override function update()
- {
- super.update();
- }
- private var sprite:Spritemap;
- private var opened:Bool;
- private var locked:Bool;
- private var _player:Player;
- }
Advertisement
Add Comment
Please, Sign In to add comment