package card;

import game.SwingGame;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.BorderFactory;
import javax.swing.JLabel;

public class SwingCard extends Card {
	JLabel face;
	
	public SwingCard(int color, int value, int playerId, SwingGame swingGame) {
		super(color, value, playerId, swingGame);
	}
	
	public void setFace(JLabel face){
		this.face = face;
		face.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
		face.setFont(((Font) g.getFont()).deriveFont(g.getFontSize()*2));
		addMouseListener();
	}
	
	public JLabel getFace(){
		return face;
	}
	
	private void addMouseListener(){
		face.addMouseListener(new MouseListener() {
			@Override
			public void mouseReleased(MouseEvent e) {
				onCardClick();
			}
			
			@Override
			public void mousePressed(MouseEvent e) {
			}
			
			@Override
			public void mouseExited(MouseEvent e) {
			}
			
			@Override
			public void mouseEntered(MouseEvent e) {
			}
			
			@Override
			public void mouseClicked(MouseEvent e) {
			}
		});
	}
	
	@Override
	protected void onCardClick(){
		super.onCardClick();
		if(isSelected){
			face.setBackground(Color.pink);
		} else {
			face.setBackground(Color.black);
		}
	}
	
	@Override
	public void setSelected(boolean set){
		super.setSelected(set);
		if(isSelected) face.setBackground(Color.pink);
		else face.setBackground(Color.black);
	}
}
