private void CreateEvent(EventData eventData, Color32 colour) { SimulationManager manager = Singleton <SimulationManager> .instance; uint frameLength = (uint)Mathf.RoundToInt(eventData.Info.m_eventAI.m_eventDuration * SimulationManager.DAYTIME_HOUR_TO_FRAME); CreateEvent(manager.FrameToTime(eventData.m_startFrame), manager.FrameToTime(eventData.m_startFrame + frameLength), eventData.m_building, colour); }
public static bool EventStartsWithin(EventData eventData, double hours) { SimulationManager simulationManager = Singleton <SimulationManager> .instance; bool eventStartsSoon = false; bool created = (eventData.m_flags & EventData.Flags.Created) != EventData.Flags.None; bool started = (eventData.m_flags & EventData.Flags.Active) != EventData.Flags.None; bool ended = (eventData.m_flags & EventData.Flags.Completed) != EventData.Flags.None; if (created && !started && !ended) { DateTime startTime = simulationManager.FrameToTime(eventData.m_startFrame); TimeSpan difference = startTime - CityEventManager.CITY_TIME; eventStartsSoon = difference.TotalHours > 0 && difference.TotalHours <= hours; } return(eventStartsSoon); }