private void button4_Click(object sender, EventArgs e) { if (textBox1.Text != "") // если textBox не пустой { Hero hero = null; // готовим экземпляр героя string path = @"..\..\Players\" + textBox1.Text.Replace(" ", "_") + ".txt"; // путь к файлу сохранения героя ArrayList paramHero = new ArrayList() { }; // неопределённый массив для передачи данных о герое // передаём информацию о герои из файла в неопределённый массив using (StreamReader sr = new StreamReader(path)) { string line; while ((line = sr.ReadLine()) != null) { paramHero.Add(line); } } // инициализируем тип героя if (paramHero[1].ToString() == "Маг") { hero = new Mag(paramHero[0].ToString(), paramHero[1].ToString(), paramHero[3].ToString()); } else if (paramHero[1].ToString() == "Воин") { hero = new Warrior(paramHero[0].ToString(), paramHero[1].ToString(), paramHero[3].ToString()); } else if (paramHero[1].ToString() == "Рыцарь") { hero = new Knight(paramHero[0].ToString(), paramHero[1].ToString(), paramHero[3].ToString()); } else { hero = new Warrior(paramHero[0].ToString(), paramHero[1].ToString(), paramHero[3].ToString()); } // перезаписываем поля героя hero.Name = (string)paramHero[0]; // Имя hero.Type = (string)paramHero[1]; // Тип героя hero.Status = (string)paramHero[2]; // Статус ( в игре, мертвый, пенсионер, победитель ) hero.Gender = (string)paramHero[3]; // Пол hero.Profession = (string)paramHero[4]; // Профессия hero.ActivityStatus = (string)paramHero[5]; // выполненое действие игроком, которое выводится в label для уведомление ирока hero.Level = double.Parse(paramHero[6].ToString()); // Уровень hero.Experience = double.Parse(paramHero[7].ToString()); // Опыт hero.Age = double.Parse(paramHero[8].ToString()); // Возраст hero.Health = double.Parse(paramHero[9].ToString()); // Здоровье hero.maxEnergy = double.Parse(paramHero[10].ToString()); // максимальная энергия hero.Energy = double.Parse(paramHero[11].ToString()); // Энергия hero.Stength = double.Parse(paramHero[12].ToString()); // Сила hero.Agility = double.Parse(paramHero[13].ToString()); // Ловкость hero.Intelligence = double.Parse(paramHero[14].ToString()); // Интеллект hero.Gold = double.Parse(paramHero[15].ToString()); // Золото // предаём георя в следующую ворму и закрываем эту Gameplay gameplay = new Gameplay(hero); gameplay.Show(); // открываем новую форму gameplay.Left = this.Left; // задаём позицию по X открываемой форме gameplay.Top = this.Top; // задаём позицию по Y открываемой форме this.Hide(); // закрываем старую форму } }