protected virtual bool BuildUnit(ActorInfo unit)
{
// Cannot produce if I'm dead
if (!self.IsInWorld || self.IsDead)
{
CancelProduction(unit.Name, 1);
return true;
}
var sp = self.TraitsImplementing<Production>().FirstOrDefault(p => p.Info.Produces.Contains(Info.Type));
if (sp != null && !self.IsDisabled() && sp.Produce(self, unit, Faction))
{
FinishProduction();
return true;
}
return false;
}