public static LevelStateChangeEventArgs Create(LevelData levelData, EnumLevelState lastState, EnumLevelState currentState, object userData = null) { LevelStateChangeEventArgs levelStateChangeEventArgs = ReferencePool.Acquire <LevelStateChangeEventArgs>(); levelStateChangeEventArgs.LevelData = levelData; levelStateChangeEventArgs.LastState = lastState; levelStateChangeEventArgs.CurrentState = currentState; return(levelStateChangeEventArgs); }
private void OnLevelStateChange(object sender, GameEventArgs e) { LevelStateChangeEventArgs ne = (LevelStateChangeEventArgs)e; if (ne == null) { return; } if (ne.CurrentState == EnumLevelState.Pause) { levelControl.Pause(); } else if (ne.LastState == EnumLevelState.Pause) { levelControl.Resume(); } }
private void OnLevelStateChange(object sender, GameEventArgs e) { LevelStateChangeEventArgs ne = (LevelStateChangeEventArgs)e; if (ne == null) { return; } if (ne.CurrentState == EnumLevelState.Normal) { btnStartWave.gameObject.SetActive(false); waveInfoPanel.SetActive(true); Level level = dataLevel.CurrentLevel; SetWaveInfo(level.CurrentWaveIndex, level.WaveCount, 0); } else if (ne.CurrentState == EnumLevelState.Prepare) { btnStartWave.gameObject.SetActive(true); waveInfoPanel.SetActive(false); } }