Ejemplo n.º 1
0
const time_of_day& tod_manager::get_time_of_day(const map_location& loc, int n_turn) const
{
	if(n_turn == 0)
		n_turn = turn_;

	for (std::vector<area_time_of_day>::const_reverse_iterator
		 i = areas_.rbegin(), i_end = areas_.rend(); i != i_end; ++i)
	{
		if (i->hexes.find(loc) != i->hexes.end())
			return get_time_of_day_turn(i->times, n_turn, i->currentTime);
	}

	return get_time_of_day_turn(times_, n_turn, currentTime_);
}
Ejemplo n.º 2
0
const time_of_day& tod_manager::get_time_of_day(const map_location& loc, int n_turn) const
{
	if(n_turn == 0)
		n_turn = turn_;

	for (std::vector<area_time_of_day>::const_reverse_iterator
		 i = areas_.rbegin(), i_end = areas_.rend(); i != i_end; ++i)
	{
		if (i->hexes.count(loc) != 1) continue;
		VALIDATE(i->times.size(), _("No time of day has been defined."));
		return get_time_of_day_turn(i->times, n_turn);
	}

	return get_time_of_day_turn(times_, n_turn);
}
Ejemplo n.º 3
0
time_of_day tod_manager::get_time_of_day(int illuminated, const map_location& loc, int n_turn) const
{
	time_of_day res = get_time_of_day_turn(n_turn);

	if(loc.valid()) {
		for(std::vector<area_time_of_day>::const_iterator i = areas_.begin(); i != areas_.end(); ++i) {
			if(i->hexes.count(loc) == 1) {

				VALIDATE(i->times.size(), _("No time of day has been defined."));

				res = i->times[(n_turn-1)%i->times.size()];
				break;
			}
		}
	}

	if(illuminated) {
		res.bonus_modified=illuminated;
		res.lawful_bonus += illuminated;
	}
	return res;
}
Ejemplo n.º 4
0
		/**
		 * Returns global time of day for the passed turn.
		 * for_turn = 0 means current turn
		 */
		const time_of_day& get_time_of_day(int for_turn = 0) const {
			return get_time_of_day_turn(times_, for_turn ? for_turn : turn_, currentTime_);
		}
Ejemplo n.º 5
0
const time_of_day& tod_manager::get_previous_time_of_day() const
{
	return get_time_of_day_turn(times_, turn_ - 1, currentTime_);
}
Ejemplo n.º 6
0
time_of_day tod_manager::get_previous_time_of_day() const
{
	return get_time_of_day_turn(turn() - 1);
}