com.lyeeedar.Roguelike3D.Game.Item.Equippable.java Source code

Java tutorial

Introduction

Here is the source code for com.lyeeedar.Roguelike3D.Game.Item.Equippable.java

Source

/*******************************************************************************
 * Copyright (c) 2013 Philip Collin.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Public License v3.0
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Contributors:
 *     Philip Collin - initial API and implementation
 ******************************************************************************/
package com.lyeeedar.Roguelike3D.Game.Item;

import java.util.HashMap;

import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle;
import com.lyeeedar.Roguelike3D.Game.Actor.GameActor;
import com.lyeeedar.Roguelike3D.Game.GameData.Damage_Type;
import com.lyeeedar.Roguelike3D.Game.GameData.Element;

public abstract class Equippable extends Item {

    /**
     * 
     */
    private static final long serialVersionUID = -322654903027697702L;
    float WEIGHT;

    public Equippable(float WEIGHT, Item_Type type) {
        super(type);
        this.WEIGHT = WEIGHT;
    }

    public abstract void fixReferences(GameActor actor);

    public abstract Table getDescriptionWidget(Skin skin);

    public abstract Table getComparisonWidget(Equippable other, Skin skin);

    public Table getComparison(float a, float b, Skin skin, boolean reverse) {
        Table table = new Table();

        table.add(new Label("" + a + ">", skin));

        Label l = new Label("" + b, skin);

        LabelStyle ls = l.getStyle();
        LabelStyle nls = new LabelStyle();
        nls.fontColor = (a == b) ? new Color(1.0f, 1.0f, 1.0f, 1.0f)
                : (reverse) ? (a > b) ? new Color(0.3f, 0.8f, 0.3f, 1.0f) : new Color(0.8f, 0.3f, 0.3f, 1.0f)
                        : (a < b) ? new Color(0.3f, 0.8f, 0.3f, 1.0f) : new Color(0.8f, 0.3f, 0.3f, 1.0f);
        nls.background = ls.background;
        nls.font = ls.font;

        l.setStyle(nls);

        table.add(l);

        return table;
    }

    public Table getComparison(int a, int b, Skin skin, boolean reverse) {
        Table table = new Table();

        table.add(new Label("" + a + ">", skin));

        Label l = new Label("" + b, skin);

        LabelStyle ls = l.getStyle();
        LabelStyle nls = new LabelStyle();
        nls.fontColor = (a == b) ? new Color(1.0f, 1.0f, 1.0f, 1.0f)
                : (reverse) ? (a > b) ? new Color(0.3f, 0.8f, 0.3f, 1.0f) : new Color(0.8f, 0.3f, 0.3f, 1.0f)
                        : (a < b) ? new Color(0.3f, 0.8f, 0.3f, 1.0f) : new Color(0.8f, 0.3f, 0.3f, 1.0f);
        nls.background = ls.background;
        nls.font = ls.font;

        l.setStyle(nls);

        table.add(l);

        return table;
    }
}