package vooga.towerdefense.model;
import java.util.HashSet;
import vooga.towerdefense.attributes.Attribute;
import vooga.towerdefense.attributes.AttributeManager;
import vooga.towerdefense.controller.Controller;
/**
* A player object, which holds things like score and lives.
*
* @author JLongley
*
*/
public class Player {
private AttributeManager myAttributeManager;
private Controller myController;
public Player(Controller controller, AttributeManager attributeManager) {
myController = controller;
myAttributeManager = attributeManager;
// myAttributeManager.addAttribute(new Attribute(AttributeConstants.HEALTH, 100D));
// myAttributeManager.addAttribute(new Attribute(AttributeConstants.SCORE, 0D));
// myAttributeManager.addAttribute(new Attribute(AttributeConstants.MONEY, 1000D));
}
public Player(HashSet<Attribute> attributes) {
myAttributeManager = new AttributeManager(attributes);
}
public void update(double elapsedTime) {
myController.displayPlayerStatistics(getPlayerDataString());
}
public String getPlayerDataString() {
StringBuilder playerInfo = new StringBuilder("Player Attributes:\n");
for(String attr : myAttributeManager.getAttributesInfo()) {
playerInfo.append(" "+attr+"\n");
}
return playerInfo.toString();
}
public AttributeManager getAttributeManager() {
return myAttributeManager;
}
public void addAttribute(Attribute newAttribute){
myAttributeManager.addAttribute(newAttribute);
}
}