示例#1
0
 public ValidateDisplayGUIInputEngine(IServiceRequestsFactory serviceFactory,
                                      IEntityStreamConsumerFactory buttonEntityConsumer, IEntityFunctions entitiesFunction)
 {
     _serviceFactory       = serviceFactory;
     _buttonEntityConsumer = buttonEntityConsumer;
     _entitiesFunction     = entitiesFunction;
 }
示例#2
0
 public SyncHierarchyEngine(OOPManager oopManager, IEntityStreamConsumerFactory generateConsumerFactory,
                            uint maxQuantity)
 {
     _oopManager = oopManager;
     _consumer   =
         generateConsumerFactory.GenerateConsumer <ObjectParentComponent>("SyncHierarchyEngine", maxQuantity);
 }
示例#3
0
 public EnemyDeathEngine(IEntityFunctions entityFunctions, IEntityStreamConsumerFactory consumerFactory,
                         ITime time, WaitForSubmissionEnumerator waitForSubmission)
 {
     _entityFunctions   = entityFunctions;
     _consumerFactory   = consumerFactory;
     _time              = time;
     _waitForSubmission = waitForSubmission;
     _animations        = new FasterList <IEnumerator>();
     _consumer          = _consumerFactory.GenerateConsumer <DeathComponent>(
         ECSGroups.EnemiesGroup, "EnemyDeathEngine", 10);
 }
示例#4
0
 public SECSContext()
 {
     Runner = new GameRunner();
     Root   = new EnginesRoot(Runner.SubmissionScheduler);
     Engine = new DummyEngine();
     Root.AddEngine(Engine);
     EntitiesDB        = Engine.entitiesDB;
     EntityFactory     = Root.GenerateEntityFactory();
     EntityFunctions   = Root.GenerateEntityFunctions();
     ConsumerFactory   = Root.GenerateConsumerFactory();
     Scheduler         = Runner.SubmissionScheduler;
     GameObjectFactory = new GameObjectFactory();
     Time = Runner.Time;
 }
示例#5
0
        void CompositionRoot(GameContext context)
        {
            _runner                = new GameRunner();
            _enginesRoot           = new EnginesRoot(_runner.SubmissionScheduler);
            _entityFactory         = _enginesRoot.GenerateEntityFactory();
            _entityFunctions       = _enginesRoot.GenerateEntityFunctions();
            _entityConsumerFactory = _enginesRoot.GenerateConsumerFactory();

            _gameObjectFactory = new GameObjectFactory();
            _gridUtils         = new GridUtils(context.GridDefinition);
            _seed = context.Seed == 0 ? (uint)Random.Range(int.MinValue, int.MinValue) : context.Seed;

            AddMatchEngines(context);
            AddGridEngines(context);
            AddShipEngines(context);
            AddPlayerEngines(context);
            AddAiEngines(context);
            AddCoinEngines(context);

            _runner.Play();
        }
示例#6
0
 public GenericGUIInteraction(IEntityStreamConsumerFactory generateConsumer)
 {
     _generateConsumer = generateConsumer;
 }
示例#7
0
 public ClosingGUIEngine(IEntityStreamConsumerFactory generateConsumer)
 {
     _generateConsumer = generateConsumer;
 }
示例#8
0
 public EnemySpawnEffectOnDamage(IEntityStreamConsumerFactory consumerFactory)
 {
     //this consumer will process only changes from DamageableComponent published from the EnemiesGroup
     _consumerHealth      = consumerFactory.GenerateConsumer <DamageableComponent>(ECSGroups.EnemiesGroup, "EnemyAnimationEngine", 15);
     _checkForEnemyDamage = SpawnEffectOnDamage();
 }
示例#9
0
 public UpdateScoreEngine(IEntityStreamConsumerFactory consumerFactory)
 {
     _consumerFactory = consumerFactory;
 }
 public ShipCoinPickupEngine(IEntityStreamConsumerFactory consumerFactory)
 {
     _consumer = consumerFactory.GenerateConsumer <ShipComponent>("CoinPickup", 20);
 }
示例#11
0
 public PlayerGunShootingFXsEngine(IEntityStreamConsumerFactory factory)
 {
     _factory = factory;
 }
示例#12
0
 public PlayerDeathEngine(IEntityFunctions dbFunctions, IEntityStreamConsumerFactory consumerFactory)
 {
     _DBFunctions = dbFunctions;
     _consumer    = consumerFactory.GenerateConsumer <DeathComponent>(ECSGroups.PlayersGroup, "PlayerDeathEngine", 1);
 }
示例#13
0
 public DamageSoundEngine(IEntityStreamConsumerFactory consumerFactory)
 {
     _damageConsumer = consumerFactory.GenerateConsumer <DamageableComponent>("DamageSoundEngine", 1);
 }
示例#14
0
 public HUDEngine(IEntityStreamConsumerFactory consumerFactory)
 {
     _consumerFactory = consumerFactory;
     _animateUI       = AnimateUI();
     _checkForDamage  = CheckForDamage();
 }
 public ShipAttackEngine(IEntityStreamConsumerFactory consumerFactory, ShipDefinition shipDefinition)
 {
     _consumer  = consumerFactory.GenerateConsumer <ShipComponent>("ShipAttack", 20);
     _coinDrops = shipDefinition.CoinDrop;
 }
示例#16
0
 public GuiViewSwitchEngine(IEntityStreamConsumerFactory consumerFactory)
 {
     _buttonConsumer = consumerFactory.GenerateConsumer <ButtonEntityStruct>(Boxtopia.GUIs.ExclusiveGroups.GuiViewButton, "MaterialEditorViewSwitchButtons", 1);
 }
 public AIShipSteeringEngine(IEntityStreamConsumerFactory consumerFactory, GridUtils gridUtils)
 {
     _consumer  = consumerFactory.GenerateConsumer <AiTarget>("AiShipSteering", 4);
     _gridUtils = gridUtils;
 }
示例#18
0
 public ApplyDamageToDamageableEntitiesEngine(IEntityStreamConsumerFactory consumerFactory)
 {
     _consumerFactory = consumerFactory;
 }