public void StartNewDrink(float StandardDrinkEqv, float DrinkingPeriod)
    {
        DrinkConsumed NewDrink;

        NewDrink.TimeDrinkStarted        = timeManager.GetInGameTime();
        NewDrink.StandardDrinkEquivalent = StandardDrinkEqv;
        NewDrink.DrinkingPeriodInHours   = DrinkingPeriod;
        NewDrink.PeakBAC = BACCalculator.CalculateEstimatedBAC(StandardDrinkEqv, PlayerStats.PlayerGender.MALE, 60, DrinkingPeriod);

        Debug.Log("BAC CALCULATION: " + BACCalculator.CalculateEstimatedBAC(2, PlayerStats.PlayerGender.MALE, 60, 2));

        DrinksConsumed.Add(NewDrink);
    }
    //Placeholder until we get something proper in
    private void GenerateRandomResult()
    {
        List <SlotMachineDrink> RandomDrinks = new List <SlotMachineDrink>();

        //just add 3 random drinks until we get something better
        RandomDrinks.Add(DrinksList[Random.Range(0, DrinksList.Count)]);
        RandomDrinks.Add(DrinksList[Random.Range(0, DrinksList.Count)]);
        RandomDrinks.Add(DrinksList[Random.Range(0, DrinksList.Count)]);

        //Debug.Log("Slot machine generated something");
        //Debug.Log(RandomDrinks[0].DrinkName);
        //Debug.Log(RandomDrinks[1].DrinkName);
        //Debug.Log(RandomDrinks[2].DrinkName);

        /*
         * Debug.Log(BACCalculator.CalculateEstimatedBACWidmark(2, PlayerStats.PlayerGender.MALE, 55, 1));
         * Debug.Log(BACCalculator.CalculateEstimatedBACWidmark(2, PlayerStats.PlayerGender.MALE, 55, 2));
         * Debug.Log(BACCalculator.CalculateEstimatedBACWidmark(2, PlayerStats.PlayerGender.MALE, 55, 3));
         */

        //Generate a random drinking period between 1 and 3.5 hours
        int DrinkingPeriodHours    = Random.Range(1, 3);
        int DrinkingPeriodHalfHour = Random.Range(0, 2);

        GameTime DrinkingPeriod;

        DrinkingPeriod.Hours   = DrinkingPeriodHours;
        DrinkingPeriod.Minutes = DrinkingPeriodHalfHour * 30;

        float DrinkingPeriodBAC = (float)DrinkingPeriodHours + ((float)DrinkingPeriodHalfHour * 0.5f);

        float TotalStandardDrinksConsumed = RandomDrinks[0].StandardDrinkEquivalence + RandomDrinks[1].StandardDrinkEquivalence + RandomDrinks[2].StandardDrinkEquivalence;
        float StartingBAC = BACCalculator.CalculateEstimatedBACWidmark(TotalStandardDrinksConsumed, PersistentData.GetPlayerStats().GetPlayerGender(), PersistentData.GetPlayerStats().GetPlayerWeight(), DrinkingPeriodBAC);

        PersistentData.GetPlayerStats().SetStartingBAC(StartingBAC);

        //Pass the drinking period to the player stats.
        PersistentData.GetPlayerStats().SetSlotMachineDrinkingPeriod(DrinkingPeriod);

        Debug.Log("Starting BAC: " + StartingBAC);
        //Debug.Log("Total standard drinks consumed: " + TotalStandardDrinksConsumed);
        //Debug.Log("Drinking period: " + DrinkingPeriod.Hours + "h " + DrinkingPeriod.Minutes + "m");

        GameTime MetabolismTime = BACCalculator.CalculateMetabolismTime(StartingBAC);

        Debug.Log("Time to metabolise: " + MetabolismTime.Hours + "h " + MetabolismTime.Minutes + "m");

        //Let the game manager know that the slot machine is finished, and it can advance to the main game.
        SlotMachineFinished(RandomDrinks);
    }
    void UpdateCurrentBAC()
    {
        float DrinkingPeriod = timeManager.GameTimeToFloatTime(timeManager.GetElapsedGameTime()) + timeManager.GameTimeToFloatTime(PersistentData.GetPlayerStats().GetSlotMachineDrinkingPeriod());

        float StandardDrinks = 0;

        SlotMachineDrink[] Drinks = PersistentData.GetPlayerStats().GetSlotMachineDrinks();


        foreach (SlotMachineDrink drink in Drinks)
        {
            StandardDrinks += drink.StandardDrinkEquivalence;
        }

        float BAC = BACCalculator.CalculateEstimatedBACWidmark(StandardDrinks, PersistentData.GetPlayerStats().GetPlayerGender(), PersistentData.GetPlayerStats().GetPlayerWeight(), DrinkingPeriod);

        PersistentData.GetPlayerStats().SetCurrentBAC(BAC);
        //Debug.Log("BAC after: " + PersistentData.GetPlayerStats().GetCurrentBAC());
    }