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

BuildableItems() public method

public BuildableItems ( ) : IEnumerable
return IEnumerable
        public virtual IEnumerable<ActorInfo> BuildableItems()
        {
            if (!Enabled)
                return Enumerable.Empty<ActorInfo>();
            if (developerMode.AllTech)
                return producible.Keys;

            return buildableProducibles;
        }

Usage Example

コード例 #1
0
ファイル: UnitBuilderBotModule.cs プロジェクト: dnqbob/OpenRA
        ActorInfo ChooseUnitToBuild(ProductionQueue queue)
        {
            var buildableThings = queue.BuildableItems();

            if (!buildableThings.Any())
            {
                return(null);
            }

            var myUnits = player.World
                          .ActorsHavingTrait <IPositionable>()
                          .Where(a => a.Owner == player)
                          .Select(a => a.Info.Name).ToList();

            foreach (var unit in Info.UnitsToBuild.Shuffle(world.LocalRandom))
            {
                if (buildableThings.Any(b => b.Name == unit.Key))
                {
                    if (myUnits.Count(a => a == unit.Key) * 100 < unit.Value * myUnits.Count)
                    {
                        if (HasAdequateAirUnitReloadBuildings(world.Map.Rules.Actors[unit.Key]))
                        {
                            return(world.Map.Rules.Actors[unit.Key]);
                        }
                    }
                }
            }

            return(null);
        }
All Usage Examples Of OpenRA.Mods.Common.Traits.ProductionQueue::BuildableItems