/// <summary> /// Performs the initial setup for the game mode being created. /// </summary> /// <param name="p_dlgShowView">The delegate to use to display a view.</param> /// <param name="p_dlgShowMessage">The delegate to use to display a message.</param> /// <returns><c>true</c> if the setup completed successfully; /// <c>false</c> otherwise.</returns> public bool PerformInitialSetup(ShowViewDelegate p_dlgShowView, ShowMessageDelegate p_dlgShowMessage) { if (EnvironmentInfo.Settings.CustomGameModeSettings[GameModeDescriptor.ModeId] == null) EnvironmentInfo.Settings.CustomGameModeSettings[GameModeDescriptor.ModeId] = new PerGameModeSettings<object>(); StateOfDecaySetupVM vmlSetup = new StateOfDecaySetupVM(EnvironmentInfo, GameModeDescriptor); SetupForm frmSetup = new SetupForm(vmlSetup); if (((DialogResult)p_dlgShowView(frmSetup, true)) == DialogResult.Cancel) return false; return vmlSetup.Save(); }