public void Init(LevelVM lVM, StepVM svm = null) { levelVM = lVM; currStep = 0; if (svm == null) { // if no step view model is passed in to the init method // the game will start the first step of the level InitStep(levelVM.GetFirstStepVM()); } else { // if a step view model is passed into the Init method // then the given step will be initialized. InitStep(svm); } }