Ejemplo n.º 1
0
        public virtual void Think(float time, IBotSubmitTask bot)
        {
            Dictionary <long, IMatchUnitAssetView> freeEaters = m_state.FreeUnits[KnownVoxelTypes.Eater];

            if (freeEaters.Count > 0)
            {
                List <IMatchUnitAssetView> selectedUnits = null;
                foreach (IMatchUnitAssetView freeEater in freeEaters.Values)
                {
                    if (freeEater.Assignment != null)
                    {
                        if (selectedUnits == null)
                        {
                            selectedUnits = new List <IMatchUnitAssetView>();
                        }

                        selectedUnits.Add(freeEater);
                    }
                }

                if (selectedUnits != null)
                {
                    for (int i = 0; i < selectedUnits.Count; ++i)
                    {
                        IMatchUnitAssetView unit = selectedUnits[i];
                        bot.SubmitTask(time, unit, unit.Assignment.TaskLaunchInfo.Type, unit.Assignment.TaskLaunchInfo.DeserializedParameters);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public override void Think(float time, IBotSubmitTask bot)
        {
            base.Think(time, bot);

            Dictionary <long, IMatchUnitAssetView> freeEaters = m_state.FreeUnits[KnownVoxelTypes.Eater];

            if (freeEaters.Count > 0)
            {
                List <IMatchUnitAssetView> selectedUnits = new List <IMatchUnitAssetView>();
                foreach (IMatchUnitAssetView freeEater in freeEaters.Values)
                {
                    selectedUnits.Add(freeEater);
                }

                for (int i = 0; i < selectedUnits.Count; ++i)
                {
                    IMatchUnitAssetView unit = selectedUnits[i];
                    bot.SubmitTask(time, unit, TaskTemplateType.EatGrowSplit4);
                }
            }
        }