package com.bernard.greposimu.model.simulator;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.bernard.greposimu.model.game.God;
import com.bernard.greposimu.model.runtime.Timestamp;

public class Joueureuse {
	
	// God
	Map<God,Integer> favor;
	int rage;
	
	int gold;
	
	// Heroes
	// herosId -> townId
	Map<String,Integer> heroes;
	// herosId -> timeOfArrival
	Map<String,Timestamp> heroesArrival;
	// herosid -> level
	Map<String,Integer> heroesLevel;
	
	List<String> inventory;
	
	// Remparts
	Troupes slainAsOff,slainAsDef,lostAsOff,lostAsDef;

	Set<Movements> movements;

	

	public Joueureuse(Map<God, Integer> favor, int rage, int gold, Map<String, Integer> heroes,
			Map<String, Timestamp> heroesArrival, Map<String, Integer> heroesLevel, List<String> inventory,
			Troupes slainAsOff, Troupes slainAsDef, Troupes lostAsOff, Troupes lostAsDef, Set<Movements> movements) {
		this.favor = favor;
		this.rage = rage;
		this.gold = gold;
		this.heroes = heroes;
		this.heroesArrival = heroesArrival;
		this.heroesLevel = heroesLevel;
		this.inventory = inventory;
		this.slainAsOff = slainAsOff;
		this.slainAsDef = slainAsDef;
		this.lostAsOff = lostAsOff;
		this.lostAsDef = lostAsDef;
		this.movements = movements;
	}

	public Map<God, Integer> getFavor() {
		return favor;
	}

	public int getRage() {
		return rage;
	}

	public int getGold() {
		return gold;
	}

	public Map<String, Integer> getHeroes() {
		return heroes;
	}

	public Map<String, Timestamp> getHeroesArrival() {
		return heroesArrival;
	}

	public Map<String, Integer> getHeroesLevel() {
		return heroesLevel;
	}

	public List<String> getInventory() {
		return inventory;
	}
	
	public Troupes getSlainAsDef() {
		return slainAsDef;
	}
	public Troupes getSlainAsOff() {
		return slainAsOff;
	}
	public Troupes getLostAsDef() {
		return lostAsDef;
	}
	public Troupes getLostAsOff() {
		return lostAsOff;
	}
	public Set<Movements> getMovements() {
		return movements;
	}
	//TODO quêtes
	//TODO messages/rapports
	//TODO profile
	//TODO alliance + allianceMessages
	
	
	
}
