Ejemplo n.º 1
0
 public State(GameScenario scenario)
 {
     this.scenario = scenario;
     index         = 0;
     Debug.Assert(scenario.waves.Length > 0, "Empty scenario!");
     wave = scenario.waves[0].Begin();
 }
Ejemplo n.º 2
0
 public State(GameScenario scenario)
 {
     this.scenario = scenario;
     index         = 0;
     timeScale     = 1f;
     wave          = scenario.currentWave.Begin();
 }
Ejemplo n.º 3
0
 public State(GameScenario scenario)
 {
     this.scenario = scenario;
     cycle         = index = 0;
     timeScale     = 1f;
     wave          = scenario.waves[0].Begin();
 }
Ejemplo n.º 4
0
        public bool Progress()
        {
            bool isFinish = wave.Progress(timeScale * Time.deltaTime);

            while (isFinish)
            {
                if (++index >= scenario.waves.Count)
                {
                    return(false);
                }
                wave     = new EnemyWave(scenario.waves[index].Id).Begin();
                isFinish = wave.Progress(0);
            }
            return(true);
        }
Ejemplo n.º 5
0
        public bool Progress()
        {
            // verifica o progresso do cenário
            float deltaTime = wave.Progress(Time.deltaTime);

            while (deltaTime >= 0f)
            {
                if (++index >= scenario.waves.Length)
                {
                    return(false);
                }
                wave      = scenario.waves[index].Begin();
                deltaTime = wave.Progress(deltaTime);
            }
            return(true);
        }
Ejemplo n.º 6
0
 public bool Progress()
 {
     var deltaTime = wave.Progress(timeScale * Time.deltaTime);
     while (deltaTime >= 0f) {
         if (++index >= scenario.waves.Length) {
             if (++cycle >= scenario.cycles && scenario.cycles > 0) {
                 return false;
             }
             index = 0;
             timeScale += scenario.cycleSpeedUp;
         }
         wave = scenario.waves[index].Begin();
         deltaTime = wave.Progress(deltaTime);
     }
     return true;
 }
Ejemplo n.º 7
0
        //Top level, Progress method doesn't require parameter, we can directly use Time.deltaTime
        //We don't need to return remaining time, but do need to indicate whether the scenario is finished or not
        public bool Progress()
        {
            float deltaTime = wave.Progress(timeScale * Time.deltaTime);

            while (deltaTime >= 0f)
            {
                //Check if we've finished the scenario
                if (++index >= scenario.waves.Length)
                {
                    if (++cycle > scenario.cycles && scenario.cycles > 0)
                    {
                        return(false);
                    }
                    index      = 0;
                    timeScale += scenario.cycleSpeedUp;
                }
                wave      = scenario.waves[index].Begin();
                deltaTime = wave.Progress(deltaTime);
            }
            //Scenario not finished
            return(true);
        }