/** * THIS IS CREATED BY tom_mai78101. PLEASE GIVE CREDIT FOR WORKING ON A CLONE. * * ALL WORKS COPYRIGHTED TO The Pokémon Company and Nintendo. I REPEAT, THIS IS A CLONE. * * YOU MAY NOT SELL COMMERCIALLY, OR YOU WILL BE PROSECUTED BY The Pokémon Company AND Nintendo. * * THE CREATOR IS NOT LIABLE FOR ANY DAMAGES DONE. FOLLOW LOCAL LAWS, BE RESPECTFUL, AND HAVE A GOOD DAY! * */ package item; import level.WorldConstants; import main.Game; import main.Game.State; import entity.Player; public class Bicycle extends ActionItem { private static final String ENABLING_DESCRIPTION = "Get on bicycle."; private static final String DISABLING_DESCRIPTION = "Get off bicycle."; public Bicycle(Game game, String name, String description, Category category) { super(game, "BICYCLE", ENABLING_DESCRIPTION, Category.KEYITEMS, WorldConstants.ITEM_BICYCLE); } public Bicycle(Game game, ItemText text){ super(game, text); this.description = ENABLING_DESCRIPTION; } @Override public void enable() { super.enable(); final Player player = this.game.getPlayer(); if (!player.isRidingBicycle()) { Player.lockMovements(); player.enableAutomaticMode(); new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(800); player.startsRidingBicycle(); Thread.sleep(800); Player.unlockMovements(); player.disableAutomaticMode(); } catch (InterruptedException e) { } } }).start(); this.description = DISABLING_DESCRIPTION; this.game.setState(State.GAME); this.game.getStartMenu().closeMenu(); } } @Override public void disable() { super.disable(); final Player player = this.game.getPlayer(); if (player.isRidingBicycle()) { Player.lockMovements(); player.enableAutomaticMode(); new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(800); player.getsOffBicycle(); Thread.sleep(800); Player.unlockMovements(); player.disableAutomaticMode(); } catch (InterruptedException e) { } } }).start(); this.description = ENABLING_DESCRIPTION; this.game.setState(State.GAME); this.game.getStartMenu().closeMenu(); } } }