package samplegame.customscripts; import java.awt.event.KeyEvent; import toritools.entity.Entity; import toritools.entity.Level; import toritools.math.Vector2; import toritools.scripting.EntityScript; import toritools.scripting.ScriptUtils; public class PlayerScript implements EntityScript { public void onSpawn(Entity self, Level level) { System.out.println("The kid is spawned!"); String warpTo; if ((warpTo = ScriptUtils.getVar("warpTo")) != null) { Entity portal; if ((portal = level.getEntityWithId(warpTo)) != null) { self.setPos(portal.getPos()); ScriptUtils.setVar("warpTo", null); } else { System.out.println("Could not warp player to " + warpTo + "!"); } } } public void onUpdate(Entity self, float time, Level level) { float speed = time * .15f; boolean walked = false; Vector2 delta = new Vector2(); if (ScriptUtils.getKeyHolder().isPressed(KeyEvent.VK_A)) { walked = true; delta = delta.add(-speed, 0); self.getSprite().setCycle(1); } if (ScriptUtils.getKeyHolder().isPressed(KeyEvent.VK_D)) { walked = true; delta = delta.add(speed, 0); self.getSprite().setCycle(2); } if (ScriptUtils.getKeyHolder().isPressed(KeyEvent.VK_W)) { walked = true; delta = delta.add(0, -speed); self.getSprite().setCycle(3); } if (ScriptUtils.getKeyHolder().isPressed(KeyEvent.VK_S)) { walked = true; delta = delta.add(0, speed); self.getSprite().setCycle(0); } self.setPos(self.getPos().add(delta)); ScriptUtils.moveOut(self, false, level.getSolids()); if (walked) self.getSprite().nextFrame(); } public void onDeath(Entity self, Level level, boolean isRoomExit) { if (isRoomExit) System.out.println("The kid has been lost forever (room closed)."); } }