Пример #1
0
 /// <summary>
 /// Supprime une action de la stratégie
 /// </summary>
 /// <param name="action">Action à supprimer</param>
 public void Supprimer(ActionRobot action)
 {
     Actions.Remove(action);
     while (Actions.Count == 0)
     {
         Thread.Sleep(20);
     }
 }
Пример #2
0
        /// <summary>
        /// Compare la priorité de l'action à celle d'une autre action en tenant compte des condition d'éxecution
        /// </summary>
        /// <param name="autre">Action à comparer</param>
        /// <returns>Résultat de la comparaison ({ -1; 0; 1 })</returns>
        public int CompareTo(ActionRobot autre)
        {
            int  priorite, autrePriorite;
            bool possible, autrePossible;

            if (autre == null)
            {
                return(1);
            }

            priorite      = Priorite;
            autrePriorite = autre.Priorite;

            possible      = ExecutionPossible;
            autrePossible = autre.ExecutionPossible;

            return(!possible && !autrePossible ? 0 :
                   possible && !autrePossible ? 1 :
                   !possible && autrePossible ? -1 :
                   priorite > autrePriorite ? 1 :
                   priorite < autrePriorite ? -1 : 0);
        }
Пример #3
0
 /// <summary>
 /// Recherche un élément existant dans la liste des actions
 /// </summary>
 /// <param name="action">Action à rechercher</param>
 /// <returns>Retourne si la stratégie contient l'action spécifiée</returns>
 public bool Contient(ActionRobot action)
 {
     return(Actions.Contains(action));
 }
Пример #4
0
 /// <summary>
 /// Ajoute une action à la stratégie
 /// </summary>
 /// <param name="action">Action à ajouter</param>
 public void Ajouter(ActionRobot action)
 {
     Actions.Add(action);
 }