internal bool CheckAuthorization(CompositionContext context) { IVisibilityProvider visibilityProvider = CustomVisibilityProvider ?? context.Settings.VisibilityProvider; return(visibilityProvider.CheckAuthorization(this, context.HttpContext)); }
internal bool CheckRenderTarget(CompositionContext context, object renderTarget) { IVisibilityProvider visibilityProvider = CustomVisibilityProvider ?? context.Settings.VisibilityProvider; return(visibilityProvider.CheckRenderType(this, context.HttpContext, renderTarget)); }
protected Node(ITitleProvider titleProvider, IVisibilityProvider visibilityProvider, IClickabilityProvider clickabilityProvider, IEnumerable<Node> children) { _titleProvider = titleProvider; _visibilityProvider = visibilityProvider; _clickabilityProvider = clickabilityProvider; Children = children; foreach (var child in Children) { child.Parent = this; } }
private void RefreshLineOfSight(IVisibilityProvider visibilityProvider, int needRefreshBits) { foreach (ILineOfSightEntity lineOfSightEntity in visibilityProvider.LineOfSightEntities) { this.RefreshLineOfSight(lineOfSightEntity, needRefreshBits); } foreach (IVisibilityArea visibilityArea in visibilityProvider.VisibleAreas) { this.RefreshLineOfSight(visibilityArea, needRefreshBits); } visibilityProvider.VisibilityDirty = false; }
private void GameEntityRepositoryService_GameEntityRepositoryChange(object sender, GameEntityRepositoryChangeEventArgs e) { if (e.Action == GameEntityRepositoryChangeAction.Add) { IGameEntity gameEntity; if (this.gameEntityRepositoryService.TryGetValue(e.GameEntityGuid, out gameEntity)) { if (gameEntity is IGameEntityWithLineOfSight) { Diagnostics.Assert(this.gameEntities != null); IGameEntityWithLineOfSight gameEntityWithLineOfSight = gameEntity as IGameEntityWithLineOfSight; gameEntityWithLineOfSight.LineOfSightData = new LineOfSightData(); this.gameEntities.Add(gameEntityWithLineOfSight); MajorEmpire majorEmpire = gameEntityWithLineOfSight.Empire as MajorEmpire; if (majorEmpire != null) { this.NeedRefreshBits |= majorEmpire.Bits; this.NeedRefreshBits |= gameEntityWithLineOfSight.EmpireInfiltrationBits; } } if (gameEntity is IGameEntityWithSharedSight) { this.sharedSightGameEntities.Add(gameEntity as IGameEntityWithSharedSight); this.forceRefreshSharedVibility = true; } if (gameEntity is IVisibilityProvider) { Diagnostics.Assert(this.visibilityProviders != null); IVisibilityProvider visibilityProvider = gameEntity as IVisibilityProvider; if (visibilityProvider.LineOfSightEntities != null) { foreach (ILineOfSightEntity lineOfSightEntity in visibilityProvider.LineOfSightEntities) { lineOfSightEntity.LineOfSightData = new LineOfSightData(); lineOfSightEntity.LineOfSightDirty = true; } } visibilityProvider.VisibilityDirty = true; this.visibilityProviders.Add(visibilityProvider); return; } } } else if (e.Action == GameEntityRepositoryChangeAction.Remove) { IGameEntityWithLineOfSight gameEntityWithLineOfSight2 = this.gameEntities.Find((IGameEntityWithLineOfSight entity) => entity.GUID == e.GameEntityGuid); if (gameEntityWithLineOfSight2 != null) { Diagnostics.Assert(this.gameEntities.Count((IGameEntityWithLineOfSight entity) => entity.GUID == e.GameEntityGuid) <= 1, "There must be 1 instance max for a guid in the gameEntities list."); this.gameEntities.Remove(gameEntityWithLineOfSight2); MajorEmpire majorEmpire2 = gameEntityWithLineOfSight2.Empire as MajorEmpire; if (majorEmpire2 != null) { this.NeedRefreshBits |= majorEmpire2.Bits; this.NeedRefreshBits |= gameEntityWithLineOfSight2.EmpireInfiltrationBits; } } IGameEntityWithSharedSight item = this.sharedSightGameEntities.Find((IGameEntityWithSharedSight entity) => entity.GUID == e.GameEntityGuid); if (gameEntityWithLineOfSight2 != null) { this.sharedSightGameEntities.Remove(item); this.forceRefreshSharedVibility = true; } if (this.visibilityProviders != null) { IVisibilityProvider visibilityProvider2 = this.visibilityProviders.Find((IVisibilityProvider entity) => entity.GUID == e.GameEntityGuid); if (visibilityProvider2 != null) { this.visibilityProviders.Remove(visibilityProvider2); if (visibilityProvider2.VisibilityEmpires != null) { foreach (Empire empire in visibilityProvider2.VisibilityEmpires) { if (empire is MajorEmpire) { this.NeedRefreshBits |= empire.Bits; } } } if (ELCPUtilities.SpectatorMode) { foreach (int num in ELCPUtilities.EliminatedEmpireIndices) { this.NeedRefreshBits |= base.Game.Empires[num].Bits; } } } } } }