protected Dictionary <int, AbstractEntity> menuItemList = new Dictionary <int, AbstractEntity>(); // For when selecting item to pick up etc... public AbstractRoguelike(int maxLogEntries) { this.ecs = new BasicEcs(this); this.mapData = new MapData(); this.gameLog = new GameLog(maxLogEntries); new CloseCombatSystem(this.ecs); new MovementSystem(this.ecs, this.mapData); this.CreateData(); this.view = new DefaultRLView(this); this.drawingSystem = new DrawingSystem(this.view, this); this.checkVisibilitySystem = new CheckMapVisibilitySystem(this.ecs, this.mapData); new ShootOnSightSystem(this.ecs, this.checkVisibilitySystem, this.ecs.entities); this.checkVisibilitySystem.process(this.playersUnits); this.damageSystem = new DamageSystem(this.ecs, this.gameLog); this.explosionSystem = new ExplosionSystem(this.ecs, this.checkVisibilitySystem, this.damageSystem, this.mapData, this.ecs.entities); new TimerCountdownSystem(this.ecs, this.explosionSystem); this.pickupItemSystem = new PickupDropSystem(); this.effectsSystem = new EffectsSystem(this.ecs); new ThrowingSystem(this.ecs, this.mapData, this.gameLog); new ShootingSystem(this.ecs, this.gameLog); // Draw screen this.drawingSystem.Process(this.effectsSystem.effects); }
public AlienAISystem(BasicEcs ecs, CheckMapVisibilitySystem _cmvs, List <AbstractEntity> _entities) : base(ecs, true) { this.cmvs = _cmvs; this.entities = _entities; }