Remove duplicated DoProduction from Production.

This commit is contained in:
Paul Chote
2015-08-14 19:35:48 +01:00
parent 9dabf9019f
commit d730b4ee50
2 changed files with 2 additions and 8 deletions

View File

@@ -15,7 +15,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Common.Traits namespace OpenRA.Mods.Common.Traits
{ {
[Desc("Where the unit should leave the building. Multiples are allowed if IDs are added: Exit@2, ...")] [Desc("Where the unit should leave the building. Multiples are allowed if IDs are added: Exit@2, ...")]
public class ExitInfo : TraitInfo<Exit> public class ExitInfo : TraitInfo<Exit>, Requires<IOccupySpaceInfo>
{ {
[Desc("Offset at which that the exiting actor is spawned relative to the center of the producing actor.")] [Desc("Offset at which that the exiting actor is spawned relative to the center of the producing actor.")]
public readonly WVec SpawnOffset = WVec.Zero; public readonly WVec SpawnOffset = WVec.Zero;

View File

@@ -118,17 +118,11 @@ namespace OpenRA.Mods.Common.Traits
if (Reservable.IsReserved(self)) if (Reservable.IsReserved(self))
return false; return false;
if (!occupiesSpace)
{
DoProduction(self, producee, null, factionVariant);
return true;
}
// Pick a spawn/exit point pair // Pick a spawn/exit point pair
var exit = self.Info.Traits.WithInterface<ExitInfo>().Shuffle(self.World.SharedRandom) var exit = self.Info.Traits.WithInterface<ExitInfo>().Shuffle(self.World.SharedRandom)
.FirstOrDefault(e => CanUseExit(self, producee, e)); .FirstOrDefault(e => CanUseExit(self, producee, e));
if (exit != null) if (exit != null || !occupiesSpace)
{ {
DoProduction(self, producee, exit, factionVariant); DoProduction(self, producee, exit, factionVariant);
return true; return true;