package org.test.towerdefense; import loon.LTexture; import loon.LTextures; import loon.action.sprite.SpriteBatch; import loon.action.sprite.painting.DrawableGameComponent; import loon.action.sprite.painting.IGameComponent; import loon.canvas.LColor; import loon.font.LFont; import loon.geom.RectBox; import loon.geom.Vector2f; import loon.utils.timer.GameTime; public class ShowMenuButton extends DrawableGameComponent implements IGameComponent { private Vector2f drawPosition; private LFont font; private MainGame game; private LTexture texture; private String textureFile; public ShowMenuButton(MainGame game) { super(game); this.textureFile = "assets/build_toolbar.png"; this.game = game; this.Show(); } private RectBox rect = new RectBox(); public final RectBox CentralCollisionArea() { rect.setBounds(this.drawPosition.x, this.drawPosition.y, this.texture.getWidth(), this.texture.getHeight()); return rect; } @Override public void draw(SpriteBatch batch, GameTime gameTime) { batch.draw(this.texture, this.drawPosition, this.game .getGameplayScreen().getGameOpacity()); Utils.DrawStringAlignCenter(batch, this.font, "" + LanguageResources.getMenu(), this.drawPosition.add(40f, 20f), LColor.white); super.draw(batch, gameTime); } public final void Hide() { this.drawPosition = new Vector2f(240f, -300f); this.setIsVisible(false); } @Override protected void loadContent() { super.loadContent(); this.texture = LTextures.loadTexture(this.textureFile); this.font = LFont.getFont(12); } public final void Show() { this.drawPosition = new Vector2f(240f, 425f); this.setIsVisible(true); } @Override public void update(GameTime gameTime) { super.update(gameTime); } private boolean privateIsVisible; public final boolean getIsVisible() { return privateIsVisible; } public final void setIsVisible(boolean value) { privateIsVisible = value; } }