OpenRA.Mods.Common.Traits.ProductionQueue.BuildUnit C# (CSharp) Method

BuildUnit() protected method

protected BuildUnit ( ActorInfo unit ) : bool
unit ActorInfo
return bool
        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;
        }