/* public void PauseTime()
     * {
     *   if (timeIncreasing)
     *   {
     *       StopCoroutine(IncreaseTime());
     *       timeIncreasing = false;
     *   }
     * }
     *
     * public void ResumeTime()
     * {
     *   if (!timeIncreasing)
     *   {
     *       StartCoroutine(IncreaseTime());
     *       timeIncreasing = true;
     *   }
     * } */

    public void CheckStaffEvents()
    {
        foreach (Staff_s inactiveStaff in dm.dispensary.allStaff)
        {
            StaffSchedule.WorkShift todaysShift = inactiveStaff.staffSchedule.GetWorkShift(currentDate.day);
            if (todaysShift.hasWork)
            {
                if (!inactiveStaff.cameIntoWorkToday && !inactiveStaff.leftWorkToday)
                {
                    if (CompareTime(todaysShift.hourIn, todaysShift.minuteIn, todaysShift.inAM))
                    {
                        dm.dispensary.SpawnStaff(inactiveStaff.uniqueStaffID);
                        inactiveStaff.cameIntoWorkToday = true;
                    }
                }
                else if (inactiveStaff.cameIntoWorkToday && !inactiveStaff.leftWorkToday)
                {
                    if (CompareTime(todaysShift.hourOut, todaysShift.minuteOut, todaysShift.outAM))
                    {
                        if (inactiveStaff.activeStaff != null)
                        {
                            inactiveStaff.activeStaff.SetAction(StaffPathfinding.StaffAction.leavingStore);
                        }
                        inactiveStaff.leftWorkToday = true;
                    }
                }
            }
        }
    }
    public void CheckValidity_WorkShift()
    { // Checks the current validity of the input time
        DispensarySchedule dispensarySchedule = displayObject.dm.dispensary.schedule;

        StaffSchedule.WorkShift shift = displayObject.staff.staffSchedule.GetWorkShift(displayObject.currentlySelectedDay);
        if (FieldIdentifier == "ShiftIn")
        {     // Not valid if time comes before dispensary open time, or after shift out time, or after dispensary close time
            if (displayObject.dateManager.CompareTime(currentHour, currentMinute, am, dispensarySchedule.openingHour, dispensarySchedule.openingMinute, dispensarySchedule.openingAM, false))
            { // Time inputted came before dispensary open time
                CancelEditTime();
                return;
            }
            if (displayObject.dateManager.CompareTime(shift.hourOut, shift.minuteOut, shift.outAM, currentHour, currentMinute, am, false))
            { // Time inputted came after shiftOut time
                CancelEditTime();
                return;
            }
            if (displayObject.dateManager.CompareTime(dispensarySchedule.closingHour, dispensarySchedule.closingMinute, dispensarySchedule.closingAM, currentHour, currentMinute, am, false))
            { // Time inputted came after dispensary close time
                CancelEditTime();
                return;
            }

            // If it makes it here without returning, time is valid
            //displayObject.dateManager.ResumeTime();
            confirmButton.gameObject.SetActive(false);
            displayObject.UpdateShiftInTime(currentHour, currentMinute, am);
        }
        else if (FieldIdentifier == "ShiftOut")
        {     // Not valid if time comes after dispensary close time, before shift in time, or before dispenasry open time
            if (displayObject.dateManager.CompareTime(dispensarySchedule.closingHour, dispensarySchedule.closingMinute, dispensarySchedule.closingAM, currentHour, currentMinute, am, false))
            { // Time inputted came after dispensary closing time
                CancelEditTime();
                return;
            }
            if (displayObject.dateManager.CompareTime(currentHour, currentMinute, am, shift.hourIn, shift.minuteIn, shift.inAM, false))
            { // Time inputted came before shift in time
                CancelEditTime();
                return;
            }
            if (displayObject.dateManager.CompareTime(currentHour, currentMinute, am, dispensarySchedule.openingHour, dispensarySchedule.openingMinute, dispensarySchedule.openingAM, false))
            { // Time inputted came before dispensary open time
                CancelEditTime();
                return;
            }

            // If it makes it here without returning, time is valid
            //displayObject.dateManager.ResumeTime();
            confirmButton.gameObject.SetActive(false);
            displayObject.UpdateShiftOutTime(currentHour, currentMinute, am);
        }
    }
 public void DisplayDayShiftInfo()
 {
     StaffSchedule.WorkShift shift = staff.staffSchedule.GetWorkShift(currentlySelectedDay);
     if (shift.hasWork)
     {
         SetToHasWork();
     }
     else
     {
         SetToNoWork();
     }
     timeInField.SetupInputField(shift.hourIn, shift.minuteIn, shift.inAM);
     timeOutField.SetupInputField(shift.hourOut, shift.minuteOut, shift.outAM);
     //timeInField.inputField.onEndEdit.AddListener(delegate { FinishEditingTimeInField(currentlySelectedDay); });
     //timeOutField.inputField.onEndEdit.AddListener(delegate { FinishEditingTimeOutField(currentlySelectedDay); });
     currentDayText.text = currentlySelectedDay.ToString() + " Hours";
 }