void UpdateEventsState(int currentTime)
        {
            foreach (var randomEvent in SimRandomEvents.Where(x => x.IsHappened))
            {
                switch (randomEvent.Status)
                {
                case RandomEventStatus.Finished:
                    continue;

                case RandomEventStatus.NotStarted:
                    randomEvent.TimeStart = currentTime;
                    randomEvent.TimeEnd   = currentTime + randomEvent.Duration;
                    randomEvent.Status    = RandomEventStatus.Started;
                    break;

                case RandomEventStatus.Started:
                {
                    if (currentTime >= randomEvent.TimeEnd)
                    {
                        randomEvent.Status = RandomEventStatus.Finished;
                    }

                    break;
                }
                }

                break;
            }
        }
 bool CheckRandomEventsStatus()
 {
     return(SimRandomEvents.All(x => x.Status == RandomEventStatus.Finished || !x.IsHappened));
 }