void update(int delta) {
		super.update(delta);
		if (stateMachine.isHeroWithinAggroRangeAndReachable()) {
			stateMachine.changeState(StateName.toHero);
		} else if (stateMachine.isSomeTowerWithinAggroRangeAndReachable()) {
			stateMachine.changeState(StateName.toTower);
		}

		if (!enemy.isSeeking()) {
			if (enemy.existsPathToLocation(castleLocation)) {
				seekCastle();
			} else {
				seekSomeCheckpoint();
			}
		}
	}