Пример #1
0
 public virtual SC2APIProtocol.Action CreateAction(Unit u, ABILITY_ID ability)
 {
     SC2APIProtocol.Action answer = NewAction();
     answer.ActionRaw.UnitCommand           = new ActionRawUnitCommand();
     answer.ActionRaw.UnitCommand.AbilityId = (int)ability;
     answer.ActionRaw.UnitCommand.UnitTags.Add(u.Tag);
     return(answer);
 }
Пример #2
0
 public static bool HasOrder(this Unit u, ABILITY_ID ability)
 {
     foreach (UnitOrder o in u.Orders)
     {
         if (o.AbilityId == (int)ability)
         {
             return(true);
         }
     }
     return(false);
 }
Пример #3
0
 public SC2APIProtocol.Action BuildOption(Unit u, ABILITY_ID ability)
 {
     if (!coolDownCommand.IsDelayed("BuildOption"))
     {
         coolDownCommand.Add(new CoolDownCommandData()
         {
             key = "BuildOption", finishStep = gameLoop + 10
         });
         return(CreateAction(u, ability));
     }
     return(null);
 }
Пример #4
0
        public int CountBuildingOnProgress(List <Unit> SCVs, ABILITY_ID id)
        {
            int ret = 0;

            foreach (Unit scv in SCVs)
            {
                if (scv.HasOrder(id))
                {
                    ret++;
                }
            }
            return(ret);
        }
Пример #5
0
 public SC2APIProtocol.Action TrainUnit(Unit cc, ABILITY_ID ability)
 {
     SC2APIProtocol.Action answer = CreateAction(cc, ability);
     return(answer);
 }
Пример #6
0
 public static bool hasOrder(this List <Unit> self, ABILITY_ID ability)
 {
     return(self.FirstOrDefault(u => u.HasOrder(ability)) != null);
 }