Create HandBean.java
Defines a bean containing the hand properties
This commit is contained in:
parent
d9d0782b38
commit
1b1e33461f
62
gui/HandBean.java
Normal file
62
gui/HandBean.java
Normal file
@ -0,0 +1,62 @@
|
||||
package ch.epfl.javass.gui;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import ch.epfl.javass.jass.Card;
|
||||
import ch.epfl.javass.jass.CardSet;
|
||||
import ch.epfl.javass.jass.Jass;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.collections.ObservableSet;
|
||||
|
||||
/**
|
||||
* A bean containing the hand properties.
|
||||
* @author Charles BEAUVILLE
|
||||
* @author Celia HOUSSIAUX
|
||||
*
|
||||
*/
|
||||
public final class HandBean {
|
||||
|
||||
private final ObservableList<Card> hand = FXCollections.observableArrayList(Arrays.asList(new Card[Jass.HAND_SIZE]));
|
||||
private final ObservableSet<Card> playableCards = FXCollections.observableSet();
|
||||
|
||||
/**
|
||||
* Gives the observable list of the hand.
|
||||
* @return an observable list of the hand.
|
||||
*/
|
||||
public ObservableList<Card> hand() {
|
||||
return FXCollections.unmodifiableObservableList(hand);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the observable list of the hand to the given hand.
|
||||
* @param newHand a CardSet to define the new hand.
|
||||
*/
|
||||
public void setHand(CardSet newHand) {
|
||||
for (int i = 0; i < hand.size(); i++)
|
||||
if(newHand.size() == Jass.HAND_SIZE)
|
||||
hand.set(i, newHand.get(i));
|
||||
else if(hand.get(i) != null && !newHand.contains(hand.get(i)))
|
||||
hand.set(i, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gives the observable set of the playableCards.
|
||||
* @return an observable set of the playableCards.
|
||||
*/
|
||||
public ObservableSet<Card> playableCards() {
|
||||
return FXCollections.unmodifiableObservableSet(playableCards);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the observable list of the playableCards to the given playableCards.
|
||||
* @param newPlayableCards a CardSet to define the new playableCards.
|
||||
*/
|
||||
public void setPlayableCards(CardSet newPlayableCards) {
|
||||
playableCards.clear();
|
||||
|
||||
for (int i = 0; i < newPlayableCards.size(); i++)
|
||||
playableCards.add(newPlayableCards.get(i));
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user