示例#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);
                    }
                }
            }
        }
示例#2
0
        /// <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();
                    }
                }
            }
        }