protected override sealed void AttachCaseToObject(Node<Case> node, SujetObserveAbstrait obj)
 {
     //obj.DeAttachAll(); // L'objet,La zone et le personnages ne doivent avoir que la case comme IObserverAbstrait !
     /* Retire les objets cases parmi les observers */
     var list = obj.GetObservers();
     int count = list.Count;
     for (int i=0; i< count; ++i)
     {
         if (list[i] is Case)
         {
             list.RemoveAt(i);
             --i;
             --count;
         }
     }
 }
        protected sealed override void AttachCaseToObject(Node <Case> node, SujetObserveAbstrait obj)
        {
            //obj.DeAttachAll(); // L'objet,La zone et le personnages ne doivent avoir que la case comme IObserverAbstrait !
            /* Retire les objets cases parmi les observers */
            var list  = obj.GetObservers();
            int count = list.Count;

            for (int i = 0; i < count; ++i)
            {
                if (list[i] is Case)
                {
                    list.RemoveAt(i);
                    --i;
                    --count;
                }
            }
        }