static void Game_OnBattleEvent(object sender, BattleEventArgs e) { if (sender is Game) { e.MainHero.ShowStatus(); Console.WriteLine("-------------------------------------------"); e.Enemy.ShowStatus(); Console.WriteLine("-------------------------------------------"); while (e.MainHero.HP > 0 && e.Enemy.HP > 0) { Console.Write("Ваши действия:\n1 - Атака!\n"); int turn = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("-------------------------------------------"); e.Enemy.HP -= (e.MainHero.Damage - e.Enemy.Armor); Console.Write($"Вы атаковали {e.Enemy.Name} и нанесли {e.MainHero.Damage - e.Enemy.Armor} урона!\n"); Console.WriteLine("-------------------------------------------"); e.Enemy.ShowStatus(); Console.WriteLine("-------------------------------------------"); e.MainHero.HP -= (e.Enemy.Damage - e.MainHero.Armor); Console.Write($"Вас атаковал {e.Enemy.Name} и нанес {e.Enemy.Damage - e.MainHero.Armor} урона!\n"); Console.WriteLine("-------------------------------------------"); e.MainHero.ShowStatus(); } if (e.Enemy.HP < 1) { Console.WriteLine("-------------------------------------------"); Console.Clear(); Console.WriteLine($"Победа! {e.Enemy.Name} пал..."); Console.WriteLine("-------------------------------------------"); } else if (e.MainHero.HP < 1) { Console.WriteLine("-------------------------------------------"); Console.Clear(); Console.WriteLine($"Вы были убиты! {e.Enemy.Name} победил!"); Game.End = true; } } }
public void Meeting(Unit A, BattleEventArgs e) { //Здесь можно сделать условие на дружественный\нет (При дружеском токинг ивент) OnBattleEvent?.Invoke(this, e); }