Replace some Where-FirstOrDefault chains with a single call to FirstOrDefault

This commit is contained in:
ScottNZ
2013-11-11 21:20:19 +13:00
parent 9643609c31
commit 7c5f3cc0f1
8 changed files with 9 additions and 10 deletions

View File

@@ -700,7 +700,7 @@ namespace OpenRA.Editor
{
int imageLength = 0;
int type = surface1.Map.MapResources.Value[x, y].Type;
var template = surface1.ResourceTemplates.Where(a => a.Value.Info.ResourceType == type).FirstOrDefault().Value;
var template = surface1.ResourceTemplates.FirstOrDefault(a => a.Value.Info.ResourceType == type).Value;
if (type == 1)
imageLength = 12;
else if (type == 2)

View File

@@ -491,7 +491,7 @@ namespace OpenRA.Mods.RA.AI
// Use of this function requires that one squad of this type. Hence it is a piece of shit
Squad GetSquadOfType(SquadType type)
{
return squads.Where(s => s.type == type).FirstOrDefault();
return squads.FirstOrDefault(s => s.type == type);
}
Squad RegisterNewSquad(SquadType type, Actor target)

View File

@@ -40,7 +40,7 @@ namespace OpenRA.Mods.RA.Orders
if (mi.Button == MouseButton.Left)
{
var underCursor = world.ScreenMap.ActorsAt(mi)
.Where(a => a.Owner == world.LocalPlayer && a.HasTrait<T>()).FirstOrDefault();
.FirstOrDefault(a => a.Owner == world.LocalPlayer && a.HasTrait<T>());
if (underCursor != null)
yield return new Order(order, underCursor, false);

View File

@@ -31,7 +31,7 @@ namespace OpenRA.Mods.RA.Orders
if (mi.Button == MouseButton.Left)
{
var underCursor = world.ScreenMap.ActorsAt(mi)
.Where(a => !world.FogObscures(a) && a.AppearsFriendlyTo(world.LocalPlayer.PlayerActor) && a.HasTrait<RepairableBuilding>()).FirstOrDefault();
.FirstOrDefault(a => !world.FogObscures(a) && a.AppearsFriendlyTo(world.LocalPlayer.PlayerActor) && a.HasTrait<RepairableBuilding>());
if (underCursor == null)
yield break;

View File

@@ -184,7 +184,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
{
var options = new Dictionary<string, IEnumerable<DropDownOption>>();
var botController = orderManager.LobbyInfo.Clients.Where(c => c.IsAdmin).FirstOrDefault();
var botController = orderManager.LobbyInfo.Clients.FirstOrDefault(c => c.IsAdmin);
if (orderManager.LobbyInfo.Slots.Values.Any(s => s.AllowBots))
{
var botOptions = new List<DropDownOption>(){ new DropDownOption()
@@ -467,7 +467,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
{
var slot = orderManager.LobbyInfo.FirstEmptySlot();
var bot = Rules.Info["player"].Traits.WithInterface<IBotInfo>().Select(t => t.Name).FirstOrDefault();
var botController = orderManager.LobbyInfo.Clients.Where(c => c.IsAdmin).FirstOrDefault();
var botController = orderManager.LobbyInfo.Clients.FirstOrDefault(c => c.IsAdmin);
if (slot != null && bot != null)
orderManager.IssueOrder(Order.Command("slot_bot {0} {1} {2}".F(slot, botController.Index, bot)));
});

View File

@@ -50,7 +50,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
foreach (var b in Rules.Info["player"].Traits.WithInterface<IBotInfo>().Select(t => t.Name))
{
var bot = b;
var botController = orderManager.LobbyInfo.Clients.Where(c => c.IsAdmin).FirstOrDefault();
var botController = orderManager.LobbyInfo.Clients.FirstOrDefault(c => c.IsAdmin);
bots.Add(new SlotDropDownOption(bot,
"slot_bot {0} {1} {2}".F(slot.PlayerReference, botController.Index, bot),
() => client != null && client.Bot == bot));

View File

@@ -66,7 +66,7 @@ namespace OpenRA.Mods.RA.Widgets
if (current == null)
continue;
var actor = queue.Trait.AllItems().Where(a => a.Name == current.Item).FirstOrDefault();
var actor = queue.Trait.AllItems().FirstOrDefault(a => a.Name == current.Item);
if (actor == null)
continue;

View File

@@ -138,8 +138,7 @@ namespace OpenRA.Mods.RA.Widgets
var actor = world.Selection.Actors
.Where(a => a.Owner == world.LocalPlayer && !a.Destroyed)
.Select(a => Pair.New(a, a.TraitOrDefault<AutoTarget>()))
.Where(a => a.Second != null)
.FirstOrDefault();
.FirstOrDefault(a => a.Second != null);
if (actor.First == null)
return true;