public AAIEntity(AAILayer parentLayer, IAIObjectFactory factory, AEntity entity) : base(factory) { this.parentLayer = new WeakReference <AAILayer>(parentLayer); this.IsActive = entity.IsActive; }
public AAILayer(AIWorld world2D, IAIObjectFactory layerFactory, ALayer layer) : base(layerFactory) { this.parentFactory = layerFactory; this.objectToObjectAIs = new Dictionary <AEntity, AAIEntity>(); this.objectAIToObjects = new Dictionary <AAIEntity, AEntity>(); //this.focusedEntity2Ds = new HashSet<IHitRect>(); this.worldAI = new WeakReference <AIWorld>(world2D); this.pendingGameEvent = new Queue <GameEventContainer>(); this.gameEventPeriod = Time.FromSeconds(2); this.parentLayer = layer; this.parentLayer.EntityAdded += OnEntityAdded; this.parentLayer.EntityRemoved += OnEntityRemoved; this.parentLayer.PositionChanged += OnPositionChanged; this.parentLayer.RotationChanged += OnRotationChanged; this.parentLayer.EntityPropertyChanged += OnEntityPropertyChanged; this.parentLayer.LevelStateChanged += OnLevelStateChanged; }
public override void InitializeLayer(IAIObjectFactory factory) { base.InitializeLayer(factory); this.CardFocused = null; this.CardAwakened = null; this.CurrentActiveBehavior = null; }
public AICJStarDomain(AAILayer parentLayer, IAIObjectFactory factory, AEntity entity) : base(parentLayer, factory, entity) { CJStarDomain starDomain = entity as CJStarDomain; this.StarEntities = new HashSet <AIStarEntity>(); this.DomainOwnerName = starDomain.DomainOwner != null ? starDomain.DomainOwner.PlayerName : null; }
public virtual void InitializeLayer(IAIObjectFactory factory) { foreach (AEntity entity in this.parentLayer.Entities) { this.AddEntity(entity); } this.pendingGameEvent.Clear(); this.gameEventTimer = Time.Zero; }
public AICardEntity(AAILayer parentLayer, IAIObjectFactory factory, AEntity entity) : base(parentLayer, factory, entity) { CardEntity cardEntity = entity as CardEntity; this.IsSocketed = cardEntity.ParentStar != null; this.IsSelected = cardEntity.IsSelected; this.IsAwakened = cardEntity.Card.IsAwakened; this.CardOwnerName = cardEntity.Card.CurrentOwner.PlayerName; this.Value = cardEntity.CardValue; }
public override void InitializeLayer(IAIObjectFactory factory) { this.StarToLinks.Clear(); this.StarSystem.Clear(); this.StarLinkSystem.Clear(); this.StarDomainSystem.Clear(); this.sourceCardEntities = null; this.sourceStarEntities = null; this.targetCardEntities = null; this.targetStarEntities = null; this.cardEntityPicked = null; this.nbCardsToPlace = 0; base.InitializeLayer(factory); foreach (AIStarLinkEntity starLinkEntity in this.StarLinkSystem) { starLinkEntity.UpdateReference(); HashSet <AIStarLinkEntity> linksConnectedTo = null; if (this.StarToLinks.TryGetValue(starLinkEntity.StarFrom, out linksConnectedTo) == false) { linksConnectedTo = new HashSet <AIStarLinkEntity>(); this.StarToLinks.Add(starLinkEntity.StarFrom, linksConnectedTo); } linksConnectedTo.Add(starLinkEntity); linksConnectedTo = null; if (this.StarToLinks.TryGetValue(starLinkEntity.StarTo, out linksConnectedTo) == false) { linksConnectedTo = new HashSet <AIStarLinkEntity>(); this.StarToLinks.Add(starLinkEntity.StarTo, linksConnectedTo); } linksConnectedTo.Add(starLinkEntity); } foreach (AICJStarDomain starDomainAI in this.StarDomainSystem) { starDomainAI.UpdateReference(); } }
public AIBoardGameLayer(AIWorld world2D, IAIObjectFactory layerFactory, BoardGameLayer layer) : base(world2D, layerFactory, layer) { this.StarToLinks = new Dictionary <AIStarEntity, HashSet <AIStarLinkEntity> >(); this.StarSystem = new HashSet <AIStarEntity>(); this.StarLinkSystem = new HashSet <AIStarLinkEntity>(); this.StarDomainSystem = new HashSet <AICJStarDomain>(); layer.CardPicked += this.OnCardPicked; //layer.CardUnpicked += this.OnCardUnPicked; layer.SourceStarEntitiesSet += OnSourceStarEntitiesSet; layer.TargetStarEntitiesSet += OnTargetStarEntitiesSet; layer.NbCardsToPlaceChanged += OnNbCardsToPlaceChanged; }
public override void InitializeLayer(IAIObjectFactory factory) { this.cardsDeck.Clear(); this.cardsCemetery.Clear(); this.cardsHand.Clear(); this.pileFocused = (this.parentLayer as BoardPlayerLayer).CardPileFocused; base.InitializeLayer(factory); foreach (AAIEntity entity in this.objectToObjectAIs.Values) { if (entity is AICardEntity) { AICardEntity cardEntity2D = entity as AICardEntity; this.cardsDeck.Add(cardEntity2D); } } }
public AIBoardNotifLayer(AIWorld world2D, IAIObjectFactory layerFactory, BoardNotifLayer layer) : base(world2D, layerFactory, layer) { this.CardsHand = new List <AICardEntity>(); layer.CardCreated += OnCardCreated; layer.CardRemoved += OnCardRemoved; layer.CardPicked += OnCardPicked; layer.CardUnpicked += OnCardUnpicked; layer.CardFocused += OnCardFocused; layer.CardAwakened += OnCardAwakened; layer.NotifBehaviorStarted += OnNotifBehaviorStarted; layer.NotifBehaviorPhaseChanged += OnNotifBehaviorPhaseChanged; layer.NotifBehaviorUseChanged += OnNotifBehaviorUseChanged; layer.NotifBehaviorEnded += OnNotifBehaviorEnded; }
public AIBoardPlayerLayer(AIWorld world2D, IAIObjectFactory layerFactory, BoardPlayerLayer layer) : base(world2D, layerFactory, layer) { this.cardsDeck = new List <AICardEntity>(); this.cardsCemetery = new List <AICardEntity>(); this.cardsHand = new List <AICardEntity>(); layer.CardDrawn += OnCardDrawn; layer.NbCardsToDrawChanged += OnNbCardToDrawsChanged; layer.CardFocused += OnCardFocused; layer.CardPicked += OnCardPicked; layer.CardUnpicked += OnCardUnpicked; layer.PileFocusedChanged += OnPileFocusedChanged; layer.CardDestroyed += OnCardDestroyed; // layer.CardResurrected += OnCardResurrected; layer.SourceCardEntitiesSet += OnSourceCardEntitiesSet; }
public AIStarLinkEntity(AAILayer parentLayer, IAIObjectFactory factory, AEntity entity) : base(parentLayer, factory, entity) { }
public virtual void Dispose() { this.parentFactory = null; }
public AAIObject(IAIObjectFactory parentFactory) { this.parentFactory = parentFactory; }