public override void InitializeLayer(IObject2DFactory factory) { base.InitializeLayer(factory); this.LevelTurnPhase = TurnPhase.VOID; BoardBannerLayer boardBannerLayer = this.parentLayer as BoardBannerLayer; this.headerEntity2D = new HeaderEntity2D(this, boardBannerLayer.Player, boardBannerLayer.Opponent); this.scoreDomainLabel2D = new ScoreDomainLabel2D(this, boardBannerLayer.Player, boardBannerLayer.Opponent); this.turnBanner2D.ResetTurn(boardBannerLayer.MaxTurnCount); this.cardsToPlaceBanner2D.ResetTurn(); this.domainToolTip.HideToolTip(); this.cardFocused = null; this.domainLayerFocused = null; this.cardFocusedLayers.Clear(); this.domainsLayers.Clear(); this.scoreLayers.Clear(); if (this.world2D.TryGetTarget(out World2D world2D)) { foreach (ALayer2D layer in world2D.LayersList) { ICardFocusedLayer cardFocusedLayer = layer as ICardFocusedLayer; if (cardFocusedLayer != null) { this.cardFocusedLayers.Add(cardFocusedLayer); } IDomainsLayer domainLayer = layer as IDomainsLayer; if (domainLayer != null) { this.domainsLayers.Add(domainLayer); domainLayer.StartDomainEvaluated += OnStartDomainsEvaluated; domainLayer.DomainEvaluated += OnDomainEvaluated; domainLayer.EndDomainEvaluated += OnEndDomainsEvaluated; domainLayer.DomainFocusedChanged += OnDomainFocusedChanged; domainLayer.NbCardsToPlaceChanged += OnNbCardsToPlaceChanged; } IScoreLayer scoreLayer = layer as IScoreLayer; if (scoreLayer != null) { this.scoreLayers.Add(scoreLayer.PlayerName, scoreLayer); } } } }
private void OnDomainFocusedChanged(IDomainsLayer obj) { this.domainLayerFocused = obj as ALayer2D; if (obj.DomainFocused != null) { CJStarDomain domainFocused = (obj as ALayer2D).GetEntityFromEntity2D(obj.DomainFocused) as CJStarDomain; BoardBannerLayer parentBannerLayer = this.parentLayer as BoardBannerLayer; this.domainToolTip.DisplayToolTip(domainFocused, parentBannerLayer.Player, parentBannerLayer.Opponent); } else { this.domainToolTip.HideToolTip(); } }