Package ru.vagrant_ai.questionmarkgame.obj.scenes

Source Code of ru.vagrant_ai.questionmarkgame.obj.scenes.Shop

package ru.vagrant_ai.questionmarkgame.obj.scenes;

import org.newdawn.slick.Color;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;

import ru.vagrant_ai.questionmarkgame.main.Game;
import ru.vagrant_ai.questionmarkgame.main.GameplayState;
import ru.vagrant_ai.questionmarkgame.util.MenuButton;
import ru.vagrant_ai.questionmarkgame.util.Text;
import ru.vagrant_ai.questionmarkgame.util.Util;
import ru.vagrant_ai.questionmarkgame.util.list.ITEM;

public class Shop extends Scene {

  private Image border, background, deal, upgrade;
  private Image[] button = new Image[2];
  private boolean pressed = false;
  private ITEM item = ITEM.pickRand();
  private ITEM upg = ITEM.pickRandUpg();
 
  public Shop()
  {
    Game.app.getInput().clearKeyPressedRecord();
    deal = item.getIcon();
    if (upg != null)
    {
      upgrade = upg.getIcon();
      upgrade.getScaledCopy(3f);
      upgrade.setFilter(Image.FILTER_NEAREST);
    }
    background = Util.loadImage("background/shop_background");
    border = Util.loadImage("background/shop_terminal");
    button[0] = Util.loadImage("background/button");
    button[1] = Util.loadImage("background/button_pr");
    background.setAlpha(0.85f);
    deal.setFilter(Image.FILTER_NEAREST);
  }

  public void render(Graphics g)
  {
    GameplayState.render_world(g);
    background.draw(0,0);
    Text.drawString(200, Text.extractLength("SHOP", 200), 60, "SHOP", Color.blue);
    drawDeal(g);
    drawUpgrade(g);
    border.draw(0, 0);
    button[(pressed?1:0)].draw(693,531);
  }
 
    private void drawDeal(Graphics g)
    {
      Text.drawString(65, Text.extractLength("Today's deal:", 65), 150, "Today's deal:", Color.black);
      g.setColor(new Color(255, 236, 129, 248));
      g.fillRoundRect(368, 198, 64, 64, 9);
      deal.getScaledCopy(3f).draw(372, 202);
      if (MenuButton.create("Afford", Text.extractLength("Afford", 80), 280, Color.red, 80))
        affordItem();
    }
   
    private void drawUpgrade(Graphics g)
    {
      if (upg != null)
      {
        Text.drawString(65, Text.extractLength("Purchase upgrade:", 65), 330, "Purchase upgrade:", Color.black);
        g.setColor(new Color(255, 236, 129, 248));
        g.fillRoundRect(368, 378, 64, 64, 9);
        upgrade.getScaledCopy(3f).draw(372, 382);
        if (MenuButton.create("Afford", Text.extractLength("Afford", 80), 456, Color.red, 80))
          affordUpg();
      }
    }
 
  public void update()
  {
    pressed = false;
    if (Util.MouseOver(692, 530, 63, 63))
    {
      if (Util.MouseIsPressed(1))
        pressed = true;
      if (Util.MouseReleased(1, 692, 530, 63, 63))
        GameplayState.scene_handler.deactivateScene();
    }
  }
 
  private void affordItem()
  {
    GameplayState.dispenser.dispenseItem(item);
    item = ITEM.pickRand();
    deal = item.getIcon();
    deal.getScaledCopy(3f);
    deal.setFilter(Image.FILTER_NEAREST);
  }
 
  private void affordUpg()
  {
    GameplayState.dispenser.dispenseUpgrade(upg);
    upg = ITEM.pickRandUpg();
    if (upg != null)
    {
      upgrade = upg.getIcon();
      upgrade.getScaledCopy(3f);
      upgrade.setFilter(Image.FILTER_NEAREST);
    }
    else
    {
      upg = null;
      upgrade = null;
    }
  }
 
}
TOP

Related Classes of ru.vagrant_ai.questionmarkgame.obj.scenes.Shop

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.