Role - ellenvoegtli/simcity GitHub Wiki

This is the base class that extends Agent, which all Role's should inherit from.

Data

PersonAgent person;
Boolean isActive;

Messages

None - each unique Role (Agent) that inherits from this class will have its own set of messages

Scheduler

None - similar to messages

Actions

public getPerson() {
	return person;
}

public setPerson(PersonAgent p) {
	set person to p
}

public setActive() {
	//make active true
}

public setInactive() {
	//make active false
}

public isActive() {
	return active;
}

public stateChanged() {
	person.stateChanged();
}

public abstract boolean pickAndExecuteAnAction();

protected getCash() {
	return person's cash
}

protected int getTime() {
	return person's time
}

public int getShiftDuration() {
	return person's shift duration
}