package bayesGame.world;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.commons.math3.util.Pair;
import bayesGame.levelcontrollers.Script;
import bayesGame.levelcontrollers.events.SpokeAboutJacenEvent;
public class World {
private static Day day;
private static List<Script> futureEvents;
private static List<Integer> futureTimes;
public World(){
day = new Day(1, -1);
futureEvents = new ArrayList<Script>();
futureTimes = new ArrayList<Integer>();
}
public static Day getDate(){
return day;
}
public static void insertEvent(int i, Script event) {
if (i < 0){
i = 0;
}
futureEvents.add(event);
futureTimes.add(i);
}
public static void timeAdvanced(boolean daychanged){
for (int x = 0; x < futureTimes.size(); x++){
int i = futureTimes.get(x);
if (i <= 0){
Script s = futureEvents.get(x);
s.run();
futureTimes.remove(x);
futureEvents.remove(x);
}
if (daychanged){
i--;
futureTimes.set(x, i);
}
}
}
public static String getStatusText() {
PlayerCharacter PC = GameCharacters.PC;
String statusText = "Day " + getDate().date() + ", " + getDate().classesLeft() + " hours left. " + PC.getEnergy() + " energy remaining. Psychology skill at level " + PC.getSkillLevel() + " (" + PC.getSkillExperience() + "/" + PC.getNextSkillLevel("") + " XP to next level)";
return statusText;
}
}