コード例 #1
0
        private void SpawnPickables()
        {
            var pickableTypeProvider = new LoopingEnumerator <TypePickable.TypePickable>(DefaultTypePickable);

            for (int i = 0; i < nbOfPickableToSpawn; ++i)
            {
                CreatePickable(
                    CreateRandomCoordonate(),
                    pickableTypeProvider.Next()
                    );
            }
        }
コード例 #2
0
        private void SpawnNpcs()
        {
            var stragegyProvider = new LoopingEnumerator <NpcStrategy>(DefaultStrategies);
            var spawnsPoints     = GenerateSpawnPoints();

            for (var i = 0; i < GameValues.NbOfEnemies; i++)
            {
                SpawnNpc(
                    spawnsPoints[i],
                    stragegyProvider.Next()
                    );
            }
        }
コード例 #3
0
        private void SpawnEnnemies()
        {
            var stragegyProvider = new LoopingEnumerator <EnemyStrategy>(DefaultStrategies);
            var colorProvider    = new LoopingEnumerator <Color>(colors);

            for (var i = 0; i < transform.childCount; i++)
            {
                SpawnEnnemy(
                    transform.GetChild(i).position,
                    stragegyProvider.Next(),
                    colorProvider.Next()
                    );
            }
        }
コード例 #4
0
        private void SpawnEnnemies()
        {
            //var stragegyProvider = new LoopingEnumerator<EnnemyStrategy>(DefaultStrategies);
            var colorProvider = new LoopingEnumerator <Color>(colors);

            for (var i = 0; i < transform.childCount; i++)
            {
                SpawnEnnemy(
                    transform.GetChild(i).position,
                    DefaultStrategies[UnityEngine.Random.Range(0, DefaultStrategies.Length)],
                    colorProvider.Next()
                    );
            }
        }
コード例 #5
0
        private void SpawnEnnemies()
        {
            var colorProvider = new LoopingEnumerator <Color>(colors);

            for (var i = 0; i < NumberOfEnnemies; i++)
            {
                SpawnEnnemy(
                    CreateRandomSpawnPosition(),
                    ennemyStrategies[i % ennemyStrategies.Length],
                    colorProvider.Next()
                    );
            }
            GameObject.FindGameObjectWithTag("GameController").GetComponent <EnnemiesSpawnedEventChannel>()
            .OnSpawnFinish();
        }
コード例 #6
0
        public Scheduler()
        {
            runningTasks = new LoopingEnumerator<ISchedulable>(
                _tasks, (
                ISchedulable s) =>
                {
                    return (s != null && s.IsRunning);
                });

            nonWaitingTasks = new LoopingEnumerator<ISchedulable>(
                _tasks, (
                ISchedulable s) =>
                {
                    return (s != null && s.IsRunning && !s.IsWaiting);
                });
        }
コード例 #7
0
 public static PickableControllerWeapon TargetWeapon(PickableSensor pickableSensor)
 {
     if (pickableSensor.PickablesInSight.Count() > 0)
     {
         var pickableProvider = new LoopingEnumerator <PickableController>(pickableSensor.PickablesInSight);
         int test             = pickableSensor.PickablesInSight.Count();
         for (var i = 0; i < test; i++)
         {
             PickableController controller = pickableProvider.Next();
             if (controller is PickableControllerWeapon)
             {
                 return(controller as PickableControllerWeapon);
             }
         }
     }
     return(null);
 }
コード例 #8
0
 public static EnnemyController TargetEnemyNotZombie(EnnemySensor enemySensor)
 {
     if (enemySensor.EnnemiesInSight.Count() > 0)
     {
         var enemyProvider = new LoopingEnumerator <EnnemyController>(enemySensor.EnnemiesInSight);
         int test          = enemySensor.EnnemiesInSight.Count();
         for (var i = 0; i < test; i++)
         {
             EnnemyController controller = enemyProvider.Next();
             if (!(controller.GetStrategyType() is ZombieStrategy))
             {
                 return(controller);
             }
         }
     }
     return(null);
 }