/// <summary> /// User clicked to button Save game configuration /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void BSave_Click(object sender, EventArgs e) { if (SDForSaveConfiguration.ShowDialog() != DialogResult.OK) { return; } try//Saving main configuration { BinaryWriter saveMainConf = new BinaryWriter(new FileStream(SDForSaveConfiguration.FileName, FileMode.Create, FileAccess.Write)); int tmp1 = 40; Int32.TryParse(mTBGoldAtStart.Text, out tmp1); int tmp2 = 20; Int32.TryParse(mTBNumberOfLives.Text, out tmp2); SaveNLoad.SaveMainGameConfig(saveMainConf, _numberOfMonstersAtLevel, _goldForSuccessfulLevelFinish, _goldForKillMonster, PBMap.Tag, TBTowerFolder.Text, _levelsConfig.Count, 5, tmp1, tmp2); saveMainConf.Close(); } catch (Exception exc) { MessageBox.Show(Resources.Save_error + exc.Message); return; } string filePath = SDForSaveConfiguration.FileName.Substring(0, SDForSaveConfiguration.FileName.LastIndexOf('\\') + 1); string fileName = SDForSaveConfiguration.FileName.Substring(SDForSaveConfiguration.FileName.LastIndexOf('\\') + 1); fileName = fileName.Substring(0, fileName.LastIndexOf('.')); try//Saving configurations of levels { FileStream levelConfSaveStream = new FileStream(filePath + fileName + ".tdlc", FileMode.Create, FileAccess.Write); IFormatter formatter = new BinaryFormatter(); foreach (MonsterParam t in _levelsConfig) { formatter.Serialize(levelConfSaveStream, t); } levelConfSaveStream.Close(); } catch (Exception exc) { MessageBox.Show(Resources.Save_error + exc.Message); return; } BNewGameConfig.Tag = 2; }