Added a waiting room and now the checkouts also take the number of people waiting in count for when to open

This commit is contained in:
2023-01-11 16:06:47 +01:00
parent 780f9a8c28
commit a891033a25
5 changed files with 71 additions and 62 deletions
+8 -4
View File
@@ -17,6 +17,7 @@ namespace Caisses
private int _timeOfTheDayInMinuts;
private Bitmap _shelvesCorner;
private Bitmap _checkoutCorner;
private Bitmap _waitingCorner;
private Random rnd;
/// Stats
@@ -40,19 +41,21 @@ namespace Caisses
internal List<GraphicalCheckout> Checkouts { get => _checkouts; set => _checkouts = value; }
public Bitmap ShelvesCorner { get => _shelvesCorner; set => _shelvesCorner = value; }
public Bitmap CheckoutCorner { get => _checkoutCorner; set => _checkoutCorner = value; }
public Bitmap WaitingCorner { get => _waitingCorner; set => _waitingCorner = value; }
public int TimeOfTheDayInHours
{
get { return _timeOfTheDayInMinuts / 60; }
}
public GraphicalStore(int startingHour, int checkoutNumber, Size shelvesCornerSize, Size checkoutCornerSize)
public GraphicalStore(int startingHour, int checkoutNumber, Size shelvesCornerSize, Size checkoutCornerSize, Size waitingCornerSize)
{
TimeOfTheDayInMinuts = startingHour * 60;
Clients = new List<GraphicalClient>();
Checkouts = new List<GraphicalCheckout>();
CheckoutCorner = new Bitmap(checkoutCornerSize.Width, checkoutCornerSize.Height);
ShelvesCorner = new Bitmap(shelvesCornerSize.Width, shelvesCornerSize.Height);
WaitingCorner = new Bitmap(waitingCornerSize.Width, waitingCornerSize.Height);
rnd = new Random();
FillStore(ATTENDANCE[TimeOfTheDayInHours]);
@@ -194,9 +197,10 @@ namespace Caisses
{
ShelvesCorner = new Bitmap(ShelvesCorner.Width, ShelvesCorner.Height);
CheckoutCorner = new Bitmap(CheckoutCorner.Width, CheckoutCorner.Height);
WaitingCorner = new Bitmap(WaitingCorner.Width, WaitingCorner.Height);
foreach (GraphicalClient client in Clients)
{
client.Draw(ShelvesCorner);
client.Draw(ShelvesCorner,WaitingCorner);
}
foreach (GraphicalCheckout checkout in Checkouts)
@@ -204,11 +208,11 @@ namespace Caisses
checkout.Draw(CheckoutCorner);
foreach (GraphicalClient client in checkout.Clients)
{
client.Draw(ShelvesCorner);
client.Draw(ShelvesCorner,WaitingCorner);
}
}
return new List<Bitmap> { ShelvesCorner, CheckoutCorner };
return new List<Bitmap> { ShelvesCorner, CheckoutCorner, WaitingCorner};
}
public virtual void FillStore(int amountOfNewClients)
{