protected void StopManagers(bool forced = false) { Logger.Info <SactaProxy>("Deteniendo Gestores."); Managers.ForEach(depEntry => { if (forced) { if (depEntry.IsMain) { (depEntry.Manager as PsiManager).EventActivity -= OnPsiEventActivity; (depEntry.Manager as PsiManager).EventSectRequest -= OnPsiEventSectorizationAsk; } else { (depEntry.Manager as ScvManager).EventActivity -= OnScvEventActivity; (depEntry.Manager as ScvManager).EventSectorization -= OnScvEventSectorization; } } depEntry.Manager.Stop(); }); if (forced) { Managers.Clear(); } PS.Set(ProcessStates.Stopped); Logger.Info <SactaProxy>("Gestores Detenidos."); }
public void LoadContent() { Console.WriteLine("GameManager - LoadContent"); SpriteBatch = new SpriteBatch(Game.GraphicsDevice); ResourceManager.RegisterResource(TextureCreator.CreateCircleTexture(30), "circle"); ResourceManager.RegisterResource(TextureCreator.CreateRectangleTexture(new Point(160, 80)), "rectangle"); ResourceManager.RegisterResource(Game1.Game.Content.Load <Texture2D>("lightMask"), "lightMask"); ResourceManager.RegisterResource(Game1.Game.Content.Load <SpriteFont>("font1"), "font1"); ResourceManager.RegisterResource(Game1.Game.Content.Load <SpriteFont>("titlefont"), "titlefont"); Managers.ForEach(x => x.LoadContent()); }
/// <summary> /// 检查下属工作 /// </summary> public void CheckWork() { DoWork(); if (Employees != null && Employees.Any()) { Employees.ForEach(t => { t.DoWork(); }); } if (Managers != null && Managers.Any()) { Managers.ForEach(t => { t.CheckWork(); }); } }
protected void StartManagers() { /** Chequear que no haya sectores o posiciones repetidas */ var duplicatedSec = Cfg.Psi.Sectorization.SectorsList().GroupBy(s => s) .Where(g => g.Count() > 1).Select(g => g.Key.ToString()).ToList(); var duplicatedPos = Cfg.Psi.Sectorization.PositionsList().GroupBy(s => s) .Where(g => g.Count() > 1).Select(g => g.Key.ToString()).ToList(); var duplicatedVir = Cfg.Psi.Sectorization.VirtualsList().GroupBy(s => s) .Where(g => g.Count() > 1).Select(g => g.Key.ToString()).ToList(); TestDuplicated(duplicatedPos, duplicatedSec, duplicatedVir, () => { Logger.Info <SactaProxy>($"Arrancando Gestores. ProtocolVersion => {Cfg.ProtocolVersion}, InCluster => {Cfg.InCluster}"); // Solo arrancan los gestores cuando no hay duplicados. Managers.ForEach(dependency => { dependency.Manager.Start(); }); PS.Set(ProcessStates.Running); Logger.Info <SactaProxy>("Gestores Arrancados."); }); }
/// <summary> /// Wrapper around the save method to ensure a transaction is active when called /// </summary> internal void SaveWrapper() { try { using (DocumentLock dl = AcDoc?.LockDocument()) { using (Transaction tr = AcCurDb.TransactionManager.StartTransaction()) { var mgrObjList = new List <object>(); Managers.ForEach(mgr => mgrObjList.Add(mgr)); SaveBinary("Managers", mgrObjList, _managerTypes); Save(); tr.Commit(); } } } catch (Exception e) { _log.LogException(e); } }
public void DrawUserInterface() { Managers.ForEach(x => x.DrawUserInterface(SpriteBatch)); GameDebugger.DrawToScreen(SpriteBatch); }
public void DrawToWorldAdditiveBlend() { Managers.ForEach(x => x.DrawToWorldAdditiveBlend(SpriteBatch)); }
public void DrawToWorld() { Managers.ForEach(x => x.Draw(SpriteBatch)); }
private void DayUpdate() { Managers.ForEach(u => u.DayUpdate(_datalock)); Notify(new DayUpdateDoneNotification()); }