package com.galvarez.ttw.model.components;
import java.util.Collection;
import com.artemis.Component;
import com.badlogic.gdx.utils.ObjectFloatMap;
import com.galvarez.ttw.model.Faction;
import com.galvarez.ttw.model.data.Discovery;
public class Research extends Component {
public final Collection<Discovery> previous;
public final ObjectFloatMap<Faction> factions;
public final Discovery target;
public Research(Discovery target, Collection<Discovery> previous) {
this.target = target;
this.previous = previous;
this.factions = new ObjectFloatMap<>();
for (Faction f : Faction.values()) {
factions.put(f, target.factions.get(f, 0f));
for (Discovery p : previous)
factions.getAndIncrement(f, 0f, p.factions.get(f, 0f) * 0.5f);
}
}
@Override
public String toString() {
return target.name + factions;
}
}