Route "Can i build X" queries via the appropriate ProductionQueue

This commit is contained in:
Paul Chote
2010-08-27 01:18:09 +12:00
parent 226fd167e7
commit 88dfbe657c
4 changed files with 52 additions and 43 deletions

View File

@@ -103,10 +103,9 @@ namespace OpenRA.Traits
{
if (p != p.World.LocalPlayer) return 0; // this only matters for local players.
// todo: this will simplify once queues know about what they can build
var queues = p.World.Queries.WithTraitMultiple<ProductionQueue>().Where(a => a.Actor.Owner == p)
.Select(a => a.Trait.Info.Type).Distinct().ToArray();
return Rules.TechTree.BuildableItems(p, queues).Count();
return p.World.Queries.WithTraitMultiple<ProductionQueue>()
.Where(a => a.Actor.Owner == p)
.SelectMany(a => a.Trait.BuildableItems()).Distinct().Count();
}
}
}