public void Setup(IDependencyContainer container) { var namedHealthGroup = container.ResolveObservableGroup(new Group(typeof(HasHealthComponent), typeof(HasNameComponent))); var computedHealthGroup = new LowestHealthComputedGroup(namedHealthGroup); container.Bind <ILowestHealthComputedGroup>(x => x.ToInstance(computedHealthGroup)); }
protected override void ApplicationStarted() { var namedHealthGroup = EntityCollectionManager.GetObservableGroup(new Group(typeof(HasHealthComponent), typeof(HasNameComponent))); var computedGroup = new LowestHealthComputedGroup(namedHealthGroup); var displayHealthSystem = new DisplayLowestHealthSystem(computedGroup); SystemExecutor.AddSystem(displayHealthSystem); this.StartAllBoundSystems(); var defaultPool = EntityCollectionManager.GetCollection(); defaultPool.CreateEntity(new CharacterBlueprint("Bob", 200)); defaultPool.CreateEntity(new CharacterBlueprint("Tom", 150)); defaultPool.CreateEntity(new CharacterBlueprint("Rolf", 150)); defaultPool.CreateEntity(new CharacterBlueprint("Mez", 100)); defaultPool.CreateEntity(new CharacterBlueprint("TP", 1000)); defaultPool.CreateEntity(new CharacterBlueprint("MasterChief", 100)); defaultPool.CreateEntity(new CharacterBlueprint("Weakling", 20)); HandleInput(); }