public static bool CheckNightWorkVisibility(out bool result, int workID)
        {
            NightWorkVisibleEventArgs args = new NightWorkVisibleEventArgs
            {
                Visible = false,
                Force   = false,
                WorkID  = workID
            };

            NightWorkVisibilityCheck?.Invoke(null, args);
            result = args.Visible;
            return(args.Force);
        }
 private void OnNightWorkVisibilityCheck(object sender, NightWorkVisibleEventArgs e)
 {
     Debugger.WriteLine("Attempting to check for visibility");
     ScheduleCSVData.NightWorkType workType = ScheduleCSVData.NightWorkData[e.WorkID].nightWorkType;
     if (workType == ScheduleCSVData.NightWorkType.Trainee || workType == ScheduleCSVData.NightWorkType.Trainer)
         return;
     if (!vipAlwaysVisible)
         return;
     e.Force = true;
     e.Visible = true;
     Debugger.WriteLine("Visibility set to true!");
 }
 public static bool CheckNightWorkVisibility(out bool result, int workID)
 {
     NightWorkVisibleEventArgs args = new NightWorkVisibleEventArgs
     {
         Visible = false,
         Force = false,
         WorkID = workID
     };
     NightWorkVisibilityCheck?.Invoke(args);
     result = args.Visible;
     return args.Force;
 }