add IEnum<T>.JoinWith, use it to clean up a bunch of things
This commit is contained in:
@@ -171,5 +171,10 @@ namespace OpenRA
|
||||
++v;
|
||||
return v;
|
||||
}
|
||||
|
||||
public static string JoinWith<T>(this IEnumerable<T> ts, string j)
|
||||
{
|
||||
return string.Join(j, ts.Select(t => t.ToString()).ToArray());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -330,7 +330,7 @@ namespace OpenRA.FileFormats
|
||||
if (f.FieldType.IsArray)
|
||||
{
|
||||
var elems = ((Array)v).OfType<object>();
|
||||
return string.Join(",", elems.Select(a => a.ToString()).ToArray());
|
||||
return elems.JoinWith(",");
|
||||
}
|
||||
|
||||
return v.ToString();
|
||||
|
||||
@@ -228,7 +228,7 @@ namespace OpenRA.FileFormats
|
||||
if (throwErrors)
|
||||
if (noInherit.ContainsValue(false))
|
||||
throw new YamlException("Bogus yaml removals: {0}".F(
|
||||
string.Join(", ", noInherit.Where(x => !x.Value).Select(x => x.Key).ToArray())));
|
||||
noInherit.Where(x => !x.Value).JoinWith(", ")));
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -271,7 +271,7 @@ namespace OpenRA.FileFormats
|
||||
|
||||
public static string WriteToString(this MiniYamlNodes y)
|
||||
{
|
||||
return string.Join("\n", y.ToLines(true).Select(x => x.TrimEnd()).ToArray());
|
||||
return y.ToLines(true).Select(x => x.TrimEnd()).JoinWith("\n");
|
||||
}
|
||||
|
||||
public static IEnumerable<string> ToLines(this MiniYamlNodes y, bool lowest)
|
||||
|
||||
@@ -57,7 +57,7 @@ namespace OpenRA.FileFormats
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Join(",", BitAllocator<T>.GetStrings(Value).ToArray());
|
||||
return BitAllocator<T>.GetStrings(Value).JoinWith(",");
|
||||
}
|
||||
|
||||
public override int GetHashCode() { return Value.GetHashCode(); }
|
||||
|
||||
@@ -280,7 +280,7 @@ namespace OpenRA
|
||||
|
||||
// Discard any invalid mods
|
||||
var mm = mods.Where( m => Mod.AllMods.ContainsKey( m ) ).ToArray();
|
||||
Console.WriteLine("Loading mods: {0}",string.Join(",",mm));
|
||||
Console.WriteLine("Loading mods: {0}", mm.JoinWith(","));
|
||||
Settings.Game.Mods = mm;
|
||||
Settings.Save();
|
||||
|
||||
|
||||
@@ -102,8 +102,8 @@ namespace OpenRA
|
||||
else if (++index >= t.Count)
|
||||
throw new InvalidOperationException("Trait prerequisites not satisfied (or prerequisite loop) Actor={0} Unresolved={1} Missing={2}".F(
|
||||
Name,
|
||||
string.Join(",", t.Select(x => x.GetType().Name).ToArray()),
|
||||
string.Join(",", unsatisfied.Select(x => x.Name).ToArray())));
|
||||
t.Select(x => x.GetType().Name).JoinWith(","),
|
||||
unsatisfied.Select(x => x.Name).JoinWith(",")));
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace OpenRA
|
||||
{
|
||||
/* debug crap */
|
||||
Game.Debug("Group #{0}: {1}".F(
|
||||
id, string.Join(",", actors.Select(a => "#{0} {1}".F(a.ActorID, a.Info.Name)).ToArray())));
|
||||
id, actors.Select(a => "#{0} {1}".F(a.ActorID, a.Info.Name)).JoinWith(",")));
|
||||
}
|
||||
|
||||
/* todo: add lazy group path crap, groupleader, pruning, etc */
|
||||
|
||||
@@ -343,7 +343,7 @@ namespace OpenRA
|
||||
if (!OpenRA.Rules.TileSets.ContainsKey(Tileset))
|
||||
throw new InvalidOperationException(
|
||||
"Tileset used by the map ({0}) does not exist in this mod. Valid tilesets are: {1}"
|
||||
.F(Tileset, string.Join(",", OpenRA.Rules.TileSets.Keys.ToArray())));
|
||||
.F(Tileset, OpenRA.Rules.TileSets.Keys.JoinWith(",")));
|
||||
|
||||
// Tile data
|
||||
for (var i = 0; i < MapSize.X; i++)
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace OpenRA.Orders
|
||||
if (actorsInvolved.Any())
|
||||
yield return new Order("CreateGroup", actorsInvolved.First().Owner.PlayerActor, false)
|
||||
{
|
||||
TargetString = string.Join(",", actorsInvolved.Select(a => a.ActorID.ToString()).ToArray())
|
||||
TargetString = actorsInvolved.Select(a => a.ActorID).JoinWith(",")
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -203,7 +203,7 @@ namespace OpenRA.Widgets
|
||||
else
|
||||
break;
|
||||
}
|
||||
return string.Join("\n", newLines.ToArray());
|
||||
return newLines.JoinWith("\n");
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
|
||||
nameLabel.GetText = () => tooltip.Name;
|
||||
|
||||
var prereqs = buildable.Prerequisites.Select(a => ActorName(a));
|
||||
var requiresString = prereqs.Any() ? "Requires {0}".F(string.Join(", ", prereqs.ToArray())) : "";
|
||||
var requiresString = prereqs.Any() ? "Requires {0}".F(prereqs.JoinWith(", ")) : "";
|
||||
requiresLabel.GetText = () => requiresString;
|
||||
|
||||
var power = bi != null ? bi.Power : 0;
|
||||
|
||||
@@ -184,7 +184,7 @@ namespace OpenRA.Mods.RA.Server
|
||||
|
||||
var slot = server.lobbyInfo.Slots[parts[0]];
|
||||
var bot = server.lobbyInfo.ClientInSlot(parts[0]);
|
||||
var botType = string.Join(" ", parts.Skip(1).ToArray() );
|
||||
var botType = parts.Skip(1).JoinWith(" ");
|
||||
|
||||
// Invalid slot
|
||||
if (bot != null && bot.Bot == null)
|
||||
@@ -419,7 +419,7 @@ namespace OpenRA.Mods.RA.Server
|
||||
};
|
||||
|
||||
var cmdName = cmd.Split(' ').First();
|
||||
var cmdValue = string.Join(" ", cmd.Split(' ').Skip(1).ToArray());
|
||||
var cmdValue = cmd.Split(' ').Skip(1).JoinWith(" ");
|
||||
|
||||
Func<string,bool> a;
|
||||
if (!dict.TryGetValue(cmdName, out a))
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace OpenRA.Mods.RA.Server
|
||||
server.Settings.ExternalPort, Uri.EscapeUriString(server.Settings.Name),
|
||||
server.GameStarted ? 2 : 1, // todo: post-game states, etc.
|
||||
server.lobbyInfo.Clients.Count,
|
||||
string.Join(",", Game.CurrentMods.Select(f => "{0}@{1}".F(f.Key, f.Value.Version)).ToArray()),
|
||||
Game.CurrentMods.Select(f => "{0}@{1}".F(f.Key, f.Value.Version)).JoinWith(","),
|
||||
server.lobbyInfo.GlobalSettings.Map,
|
||||
server.Map.PlayerCount));
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -74,12 +74,12 @@ namespace OpenRA.Renderer.SdlCommon
|
||||
if (extensions == null)
|
||||
Console.WriteLine("Failed to fetch GL_EXTENSIONS, this is bad.");
|
||||
|
||||
var missingExtensions = requiredExtensions.Where( r => !extensions.Contains(r) ).ToArray();
|
||||
var missingExtensions = requiredExtensions.Where(r => !extensions.Contains(r)).ToArray();
|
||||
|
||||
if (missingExtensions.Any())
|
||||
{
|
||||
ErrorHandler.WriteGraphicsLog("Unsupported GPU: Missing extensions: {0}"
|
||||
.F(string.Join(",", missingExtensions)));
|
||||
.F(missingExtensions.JoinWith(",")));
|
||||
throw new InvalidProgramException("Unsupported GPU. See graphics.log for details.");
|
||||
}
|
||||
|
||||
|
||||
@@ -40,8 +40,8 @@ namespace OpenRA.Utility
|
||||
catch( Exception e )
|
||||
{
|
||||
Log.AddChannel("utility", "utility.log");
|
||||
Log.Write("utility", "Received args: {0}", string.Join(" ", args));
|
||||
Log.Write("utility", "{0}", e.ToString());
|
||||
Log.Write("utility", "Received args: {0}", args.JoinWith(" "));
|
||||
Log.Write("utility", "{0}", e);
|
||||
|
||||
Console.WriteLine("Error: Utility application crashed. See utility.log for details");
|
||||
throw;
|
||||
|
||||
Reference in New Issue
Block a user