Package game.view.inventory

Source Code of game.view.inventory.InventorySkillScreen

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package game.view.inventory;

import beans.serializable.Skill;
import game.entity.Alphabet;
import game.model.inventory.InventorySkillModel;
import game.view.ListScreen;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.util.Observable;

/**
* Vue du modèle de la liste de compétences
*
* @author Elragos
* @version InventorySkillScreen 1.0
* @since Game 1.0
*/
public class InventorySkillScreen extends InventoryScreenPatern {

    /**
     * Modèle contenant la liste de compétences
     *
     * @since InventorySpellScreen 1.0
     */
    private InventorySkillModel skills;
    /**
     * La liste de compétences à afficher
     *
     * @since InventorySkillScreen 1.0
     * @see ListScreen
     */
    private ListScreen listScreen;

    /**
     * Constructeur de la vue, prend un modèle pour référence.
     *
     * @param inventoryModel le modèle de référence.
     * @since InventorySkillScreen 1.0
     * @see InventorySkillModel
     */
    public InventorySkillScreen(final InventorySkillModel skillsModel) {
        this.skills = skillsModel;
        skills.addObserver(this);
        listScreen = new ListScreen(skills.getListModel());
    }

    /**
     * Récupérer l'image représentant le menu.
     *
     * @return l'image représentant le menu
     * @since InventorySpellScreen 1.0
     * @see Image
     */
    @Override
    public Image getImage() {

        //Initialiser l'affichage
        final BufferedImage image = new BufferedImage(background.getWidth(null), background.getHeight(null), BufferedImage.TYPE_INT_ARGB);
        final Graphics2D graphic = image.createGraphics();
        graphic.drawImage(background, 0, 0, null);

        //Afficher la liste de compétences
        final Image imageListScreen = listScreen.getImage();
        if (imageListScreen != null) {
            graphic.drawImage(listScreen.getImage(), 20, 50, null);
        }

        //Afficher la description de la compétences courant
        Skill currentSkill = skills.getCurrentSkill();
        //Affichage de la description
        graphic.drawImage(Alphabet.createString(currentSkill.getDescription().toString(), image.getWidth()), 20, image.getHeight() - 200, null);
        //Affichage de la cible
        graphic.drawImage(Alphabet.createString("Cible : " + currentSkill.getTarget().toString(), image.getWidth()), 20, image.getHeight() - 150, null);
        //Affichage de la cible
        graphic.drawImage(Alphabet.createString("Cout : " + skills.displayCout(currentSkill.getCost()), image.getWidth()), 20, image.getHeight() - 100, null);

        graphic.dispose();
        return image;
    }

    /**
     * Méthode appelé lors de la mise à jour du modèle observé.
     *image
     * @param o le modèle qui a été mis à jour.
     * @param arg les arguments de mise à jour (non utilisé).
     * @since InventorySkiellScreen 1.0
     * @see InventorySkillModel
     */
    @Override
    public void update(final Observable o, final Object arg) {
        skills = (InventorySkillModel) o;
    }
}
TOP

Related Classes of game.view.inventory.InventorySkillScreen

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.