/// <summary> /// Взаимодействие с лутом. /// </summary> /// <param name="loot">Лут.</param> static void InteractionLoot(IBaseStaticObject loot) { Console.Clear(); Console.WriteLine("Найден предмет:\n" + $"--Имя: {loot.Name}\n" + $"--Ценность: {loot.Price}\n" + $"--Размер: {loot.Size}\n"); var machineIntermediary = new MachineIntermediary(_userSession.UserData.UserMachine, loot); Console.WriteLine("Взять?"); if (Console.ReadLine() == "1") { if (machineIntermediary.Take()) { Console.WriteLine($"Предмет {loot.Name} в кузове!!!"); _userSession.UserData.UserStatistics.ReceivedItems += 1; } else { Console.WriteLine("Нет места в кузове!!!\nОткрыть инвентарь?"); if (Console.ReadLine() == "1") { ShowUserInventoryInfo(); InteractionLoot(loot); } } } }
/// <summary> /// Выводит информацию о содержимом инвентаря игрока. /// </summary> static void ShowUserInventoryInfo() { Console.WriteLine("Инвентарь: свободно места: " + _userSession.UserData.UserMachine.CurrentSizeInventory()); if (_userSession.UserData.UserMachine.Inventory.Count == 0) { Console.WriteLine("Пуст!"); } else { Console.WriteLine("Название; Размер; Ценность"); foreach (var item in _userSession.UserData.UserMachine.Inventory) { Console.WriteLine($"{item.Name}; {item.Size}; {item.Price}"); } Console.WriteLine("Выберите предмет:"); { var numberItem = Console.ReadLine(); if (int.TryParse(numberItem, out int number)) { if (_userSession.UserData.UserMachine.Inventory.Count < number) { ShowUserInventoryInfo(); } var machineIntermediary = new MachineIntermediary(_userSession.UserData.UserMachine, _userSession.UserData.UserMachine.Inventory[number - 1]); Console.WriteLine($"Что с ним сделать?{Environment.NewLine}" + $"1.Использовать{Environment.NewLine}" + "2.Выбросить"); switch (Console.ReadLine()) { case "1": Console.WriteLine("Какое количество использовать?"); if (int.TryParse(Console.ReadLine(), out int quantity)) { if (machineIntermediary.Use(quantity)) { Console.WriteLine("Предмет успешно использован!"); _userSession.UserData.UserStatistics.UsedItems += 1; } } break; case "2": if (machineIntermediary.Turf()) { Console.WriteLine("Предмет успешно выброшен!"); } break; } } else { if (string.IsNullOrEmpty(numberItem)) { return; } ShowUserInventoryInfo(); } } } }