/* * Copyright (c) 2012. HappyDroids LLC, All rights reserved. */ package com.happydroids.droidtowers.entities; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY) @JsonIgnoreProperties(ignoreUnknown = true) public class Player { @JsonIgnore private static Player instance; private long coins; private long experience; private int jobsFilled; private int jobsMax; private int populationAttracted; private int maxPopulation; private int populationMax; private int supportedResidency; private int populationResidency; private int currentIncome; private int currentExpenses; private float starRating; private float budgetRating; private float employmentRating; private float populationRating; private float desirabilityRating; public static Player instance() { if (instance == null) { instance = new Player(); } return instance; } private Player() { coins = 4000; } public Player(int startingMoney) { coins = startingMoney; } public static void setInstance(Player newInstance) { Player.instance = newInstance; } public long getCoins() { return coins; } public void subtractCurrency(long coins) { this.coins -= coins; } public void addCurrency(long coins) { this.coins += coins; } public void addExperience(int exp) { experience += exp; } public long getExperience() { return experience; } public int getPopulationResidency() { return populationResidency; } public int getPopulationAttracted() { return populationAttracted; } public int getJobsMax() { return this.jobsMax; } public int getJobsFilled() { return jobsFilled; } @JsonIgnore public int getTotalPopulation() { return populationResidency; } public int getMaxPopulation() { return populationMax; } public void setPopulationMax(int populationMax) { this.populationMax = populationMax; } public void setPopulationResidency(int populationResidency) { this.populationResidency = populationResidency; } public void setJobsMax(int jobsMax) { this.jobsMax = jobsMax; } public void setPopulationAttracted(int populationAttracted) { this.populationAttracted = populationAttracted; } public void setJobsFilled(int jobsFilled) { this.jobsFilled = jobsFilled; } public void setCurrentIncome(int currentIncome) { this.currentIncome = currentIncome; } public void setCurrentExpenses(int currentUpkeep) { this.currentExpenses = currentUpkeep; } public int getCurrentIncome() { return currentIncome; } public int getCurrentExpenses() { return currentExpenses; } public float getStarRating() { return starRating; } public void setStarRating(float starRating) { this.starRating = starRating; } public float getBudgetRating() { return budgetRating; } public void setBudgetRating(float budgetRating) { this.budgetRating = budgetRating; } public void setEmploymentRating(float employmentRating) { this.employmentRating = employmentRating; } public void setPopulationRating(float populationRating) { this.populationRating = populationRating; } public void setDesirabilityRating(float desirabilityRating) { this.desirabilityRating = desirabilityRating; } public float getDesirabilityRating() { return desirabilityRating; } public float getEmploymentRating() { return employmentRating; } public float getPopulationRating() { return populationRating; } public void setSupportedResidency(int supportedResidency) { this.supportedResidency = supportedResidency; } public int getSupportedResidency() { return supportedResidency; } }