Пример #1
0
        // calling class runs this to activate packcoordinator
        public void ActivatePackCoordinator(IPackCoordinator packcoordinator)
        {
            if (!packcoordinators.Contains(packcoordinator))
            {
                throw new Exception("PackCoordinatorSelector: pack coordinator " + packcoordinator.ToString() + " not found");
            }

            if (activecoordinator != packcoordinator)
            {
                logfile.WriteLine("PackCoordinator selector: changing to coordinator " + packcoordinator.ToString());
                // first disactivate others, then activate new one
                // the order of operations is important since they will probalby be using GiveORder, and GiveOrder overwrites old orders with new ones
                foreach (object packcoordinatorobject in packcoordinators)
                {
                    IPackCoordinator thispackcoordinator = packcoordinatorobject as IPackCoordinator;
                    if (thispackcoordinator != packcoordinator)
                    {
                        thispackcoordinator.Disactivate();
                    }
                }
                foreach (object packcoordinatorobject in packcoordinators)
                {
                    IPackCoordinator thispackcoordinator = packcoordinatorobject as IPackCoordinator;
                    if (thispackcoordinator == packcoordinator)
                    {
                        thispackcoordinator.Activate();
                    }
                }
                activecoordinator = packcoordinator;
            }
        }
Пример #2
0
 public void DisactivateAll()
 {
     if (activecoordinator != null)
     {
         logfile.WriteLine("PackCoordinator selector: disactivating all");
         foreach (object packcoordinatorobject in packcoordinators)
         {
             IPackCoordinator thispackcoordinator = packcoordinatorobject as IPackCoordinator;
             thispackcoordinator.Disactivate();
         }
         activecoordinator = null;
     }
 }