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; }