Exemplo n.º 1
0
        /// <summary>
        /// Spawns randomly selected obstacle.
        /// </summary>
        private void SpawnObstacle()
        {
            var           decisionMaker   = ProbabilityDecisionMaker.GetInstance();
            var           obstacleToSpawn = decisionMaker.SpawnWhatObstacle();
            ObstaclesPool poolToUse;

            if (_enemiesPools.TryGetValue(obstacleToSpawn, out poolToUse) == false)
            {
                throw new Exception($"Tried to spawn obstacle from non-existent pool: {obstacleToSpawn}!");
            }

            var obstacleData = _obstacleDataRandomizer.GetRandomizedObstacleData(obstacleToSpawn);

            obstacleData.ConstantForce = EnemiesConstantForce;

            poolToUse.SpawnObstacle(obstacleData);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Retrieves the instance of this singleton.
 /// </summary>
 /// <returns></returns>
 public static ProbabilityDecisionMaker GetInstance()
 {
     return(_instance ?? (_instance = new ProbabilityDecisionMaker()));
 }
Exemplo n.º 3
0
 public void Dispose()
 {
     _instance = null;
 }