package org.mafagafogigante.dungeon.entity;
import org.mafagafogigante.dungeon.util.Percentage;
import java.io.Serializable;
import java.util.Collection;
/**
* A luminosity value.
*/
public class Luminosity implements Serializable {
public static final Luminosity ZERO = new Luminosity(new Percentage(0.0));
private final Percentage value;
public Luminosity(Percentage value) {
this.value = value;
}
/**
* Returns a Luminosity value equal to the resultant luminosity of a collection of entities.
*/
public static Luminosity resultantLuminosity(Collection<Entity> entities) {
double total = 0;
for (Entity entity : entities) {
total += entity.getLuminosity().toPercentage().toDouble();
}
return new Luminosity(new Percentage(Math.min(total, 1.0)));
}
public Percentage toPercentage() {
return value;
}
@Override
public String toString() {
return "Luminosity of " + value;
}
}