Exemplo n.º 1
0
        /// <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>
 /// <param name="userMachine">Машина пользователя</param>
 /// <param name="staticObject">Предмет с которым происходит взаимодействие</param>
 public MachineIntermediary(UserMachine userMachine, IBaseStaticObject staticObject)
 {
     _userMachine  = userMachine ?? throw new ArgumentNullException(nameof(userMachine));
     _staticObject = staticObject ?? throw new ArgumentNullException(nameof(staticObject));
 }