当前位置: 首页>>代码示例>>C++>>正文


C++ team::shrouded方法代码示例

本文整理汇总了C++中team::shrouded方法的典型用法代码示例。如果您正苦于以下问题:C++ team::shrouded方法的具体用法?C++ team::shrouded怎么用?C++ team::shrouded使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在team的用法示例。


在下文中一共展示了team::shrouded方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: generate_report


//.........这里部分代码省略.........
	case UNIT_ADVANCEMENT_OPTIONS: {
		report res;
		typedef std::pair<std::string, std::string> pair_string;
		foreach(const pair_string& ps, u->advancement_icons()){
			res.add_image(ps.first,ps.second);
		}
		return res;
	}
	case UNIT_WEAPONS: {
		if (u->second().valid()) {
			str << u->second().name();
		}
		if (u->third().valid()) {
			str << " " << u->third().name();
		}
		return report(str.str(), "", tooltip.str());
	}
	case UNIT_IMAGE:
	{
//		const std::vector<Uint32>& old_rgb = u->second.team_rgb_range();
//		color_range new_rgb = team::get_side_color_range(u->second.side());

		report res("", image::locator(u->absolute_image(), u->image_mods()), "");
		if (!u->is_artifical() && u->character() != NO_CHARACTER) {
			res.add_image(unit_types.character(u->character()).image_, "");
			res.back().rect.w = 16;
			res.back().rect.h = 16;
		}
		return res;
	}
	case TIME_OF_DAY: {
		time_of_day tod;

		if (viewing_team.shrouded(mouseover)) {
			// Don't show time on shrouded tiles.
			tod = resources::tod_manager->get_time_of_day();
		} else if (viewing_team.fogged(mouseover)) {
			// Don't show illuminated time on fogged tiles.
			tod = resources::tod_manager->get_time_of_day(mouseover);
		} else {
			tod = resources::tod_manager->time_of_day_at(mouseover);
		}

		int b = tod.lawful_bonus;
		int c = tod.liminal_bonus;
		tooltip << tod.name << '\n'
			<< _("Lawful units: ") << signed_percent(b) << "\n"
			<< _("Neutral units: ") << signed_percent(0) << "\n"
			<< _("Chaotic units: ") << signed_percent(-b);

		if (tod.liminal_present)
		tooltip <<  "\n" << _("Liminal units: ") << signed_percent(c);

		std::string tod_image = tod.image;
		if (tod.lawful_bonus_modified > 0) tod_image += "~BRIGHTEN()";
		else if (tod.lawful_bonus_modified < 0) tod_image += "~DARKEN()";
		if (preferences::flip_time()) tod_image += "~FL(horiz)";

		if (game_config::tiny_gui) {
			return report("", tod_image, "");
		} else {
			return report("", tod_image, tooltip.str(), "time_of_day");
		}
	}
	case TURN: {
		str << 	teams[playing_side-1].name() << "[" << resources::tod_manager->turn() << "]";
开发者ID:,项目名称:,代码行数:67,代码来源:

示例2: generate_report


//.........这里部分代码省略.........
			}

			res.add_text(flush(str), flush(tooltip));


			const std::vector<t_string> &specials = at.special_tooltips();

			if(! specials.empty()) {
				for(std::vector<t_string>::const_iterator sp_it = specials.begin(); sp_it != specials.end(); ++sp_it) {
					str << span_color(font::weapon_details_color)
						<< "  " << *sp_it << "</span>\n";
					++sp_it;
					tooltip << *sp_it << '\n';
				}
				res.add_text(flush(str), flush(tooltip));
			}
		}

		return res;
	}
	case UNIT_IMAGE:
	{
//		const std::vector<Uint32>& old_rgb = u->second.team_rgb_range();
//		color_range new_rgb = team::get_side_color_range(u->second.side());
		return report("", image::locator(u->absolute_image(), u->image_mods()), "");
	}
	case UNIT_PROFILE:
		return report("", u->profile(), "");
	case TIME_OF_DAY: {
		time_of_day tod = resources::tod_manager->time_of_day_at(units, mouseover, *resources::game_map);
		const std::string tod_image = tod.image + (preferences::flip_time() ? "~FL(horiz)" : "");

		// Don't show illuminated time on fogged/shrouded tiles
		if (current_team.fogged(mouseover) || current_team.shrouded(mouseover)) {
			tod = resources::tod_manager->get_time_of_day(false, mouseover);
		}
		std::stringstream tooltip;

		tooltip << tod.name << "\n"
				<< _("Lawful units: ")
				<< (tod.lawful_bonus > 0 ? "+" : "") << tod.lawful_bonus << "%\n"
				<< _("Neutral units: ") << "0%\n"
				<< _("Chaotic units: ")
				<< (tod.lawful_bonus < 0 ? "+" : "") << (tod.lawful_bonus*-1) << "%";

		return report("",tod_image,tooltip.str());
	}
	case TURN: {
		str << resources::tod_manager->turn();
		int nb = resources::tod_manager->number_of_turns();
		if (nb != -1) str << '/' << nb;
		break;
	}
	// For the following status reports, show them in gray text
	// when it is not the active player's turn.
	case GOLD: {
		char const *end = naps;
		if (current_side != playing_side)
			str << span_color(font::GRAY_COLOUR);
		else if (current_team.gold() < 0)
			str << span_color(font::BAD_COLOUR);
		else
			end = "";
		str << current_team.gold() << end;
		break;
	}
开发者ID:oys0317,项目名称:opensanguo,代码行数:67,代码来源:generate_report.cpp


注:本文中的team::shrouded方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。