void SpawnCustomer()
        {
            var freePlaces = CustomerPlaces.FindAll(x => x.IsFree);

            if (freePlaces.Count <= 0)
            {
                return;
            }

            var place = freePlaces[Random.Range(0, freePlaces.Count)];

            place.PlaceCustomer(GenerateCustomer());
            TotalCustomersGenerated++;
            TotalCustomersGeneratedChanged?.Invoke();
        }
        public void Init()
        {
            var totalOrders = 0;

            _orderSets = new Stack <List <Order> >();
            for (var i = 0; i < CustomersTargetNumber; i++)
            {
                var orders    = new List <Order>();
                var ordersNum = Random.Range(1, 4);
                for (var j = 0; j < ordersNum; j++)
                {
                    orders.Add(GenerateRandomOrder());
                }
                _orderSets.Push(orders);
                totalOrders += ordersNum;
            }
            CustomerPlaces.ForEach(x => x.Free());
            _timer = 0f;

            TotalCustomersGenerated = 0;
            TotalCustomersGeneratedChanged?.Invoke();

            GameplayController.Instance.OrdersTarget = totalOrders - 2;
        }