package net.myexperiments.gos.agent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.logging.Logger;
import net.myexperiments.gos.GOSSystem;
import net.myexperiments.gos.World;
import net.myexperiments.gos.model.InanimateObject;
import net.myexperiments.gos.pathfinder.Node;
import net.myexperiments.gos.schedule.Sleepable;
import net.myexperiments.gos.schedule.Task;
import net.myexperiments.gos.messaging.*;
public class GameCharacter extends AnimateObject implements Sleepable, MailUser {
HashMap<String, Object> characteristics = new HashMap<String, Object>();
ArrayList<InanimateObject> possessions = new ArrayList<InanimateObject>();
Task task;
World world;
Node loc;
String name;
String CharacterClass;
String Species;
Logger CharacterLog;
public GameCharacter(World map, String name) {
world = map;
this.name = name;
task = new Task(this);
task.TurnBasedSleep(world.CurrentTurn + 1, STATES.BORN);
CharacterLog = GOSSystem.getLogger();
world.GOSPS.registerUser(name, this);
}
// methods needed to implement Sleepable
public long getSleeptime() {
return task.getSleeptine();
}
public World getWorld() {
return world;
}
// Getters and Setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCharacterClass() {
return CharacterClass;
}
public void setCharacterClass(String class1) {
CharacterClass = class1;
}
public String getSpecies() {
return Species;
}
public void setSpecies(String species) {
Species = species;
}
public void ReceiveMail(Message letter) {
// TODO Auto-generated method stub
}
public void Wakeup(Task t) {
// TODO Auto-generated method stub
}
};