本文整理汇总了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() << "]";
示例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;
}