public State(GameScenario scenario) { this.scenario = scenario; index = 0; Debug.Assert(scenario.waves.Length > 0, "Empty scenario!"); wave = scenario.waves[0].Begin(); }
public State(GameScenario scenario) { this.scenario = scenario; index = 0; timeScale = 1f; wave = scenario.currentWave.Begin(); }
public State(GameScenario scenario) { this.scenario = scenario; cycle = index = 0; timeScale = 1f; wave = scenario.waves[0].Begin(); }
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); }
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); }
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; }
//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); }