add IEnum<T>.JoinWith, use it to clean up a bunch of things

This commit is contained in:
Chris Forbes
2011-10-30 10:38:02 +13:00
parent 8111ccbea6
commit f83c9fd4d7
17 changed files with 35 additions and 25 deletions

View File

@@ -480,7 +480,7 @@ namespace OpenRA.Mods.RA.Widgets
var bi = info.Traits.GetOrDefault<BuildingInfo>();
if (bi != null)
DrawRightAligned("{1}{0}".F(bi.Power, bi.Power > 0 ? "+" : ""), pos + new int2(-5, 20),
((power.PowerProvided - power.PowerDrained) >= -bi.Power || bi.Power > 0)? Color.White: Color.Red);
((power.PowerProvided - power.PowerDrained) >= -bi.Power || bi.Power > 0)? Color.White: Color.Red);
p += new int2(5, 35);
if (!canBuildThis)
@@ -488,7 +488,7 @@ namespace OpenRA.Mods.RA.Widgets
var prereqs = buildable.Prerequisites
.Select( a => Description( a ) );
Game.Renderer.Fonts["Regular"].DrawText(
"Requires {0}".F(string.Join(", ", prereqs.ToArray())),
"Requires {0}".F(prereqs.JoinWith(", ")),
p.ToInt2(),
Color.White);

View File

@@ -84,12 +84,17 @@ namespace OpenRA.Mods.RA.Widgets.Logic
return (currentServer == null) ? null : Game.modData.FindMapByUid(currentServer.Map);
}
static string GenerateModLabel(KeyValuePair<string,string> mod)
{
if (Mod.AllMods.ContainsKey(mod.Key))
return "{0} ({1})".F(Mod.AllMods[mod.Key].Title, mod.Value);
return "Unknown Mod: {0}".F(mod.Key);
}
public static string GenerateModsLabel(GameServer s)
{
return string.Join("\n", s.UsefulMods
.Select(m =>
Mod.AllMods.ContainsKey(m.Key) ? string.Format("{0} ({1})", Mod.AllMods[m.Key].Title, m.Value)
: string.Format("Unknown Mod: {0}",m.Key)).ToArray());
return s.UsefulMods.Select(m => GenerateModLabel(m)).JoinWith("\n");
}
void RefreshServerList(IEnumerable<GameServer> games)