private string CreateImageNameDateTime()
        {
            int   tick      = Find.TickManager.TicksAbs;
            float longitude = Find.WorldGrid.LongLatOf(map.Tile).x;
            int   year      = GenDate.Year(tick, longitude);
            int   quadrum   = MoreGenDate.QuadrumInteger(tick, longitude);
            int   day       = GenDate.DayOfQuadrum(tick, longitude) + 1;
            int   hour      = GenDate.HourInteger(tick, longitude);

            return("rimworld-" + Find.World.info.seedString + "-" + map.Tile + "-" + year + "-" + quadrum + "-" + ((day < 10) ? "0" : "") + day + "-" + ((hour < 10) ? "0" : "") + hour);
        }
        public override void MapComponentTick()
        {
            // TickRare
            if (Find.TickManager.TicksGame % 250 != tickOffset)
            {
                return;
            }
            // Check for rendering
            // Only render player home maps
            if (!map.IsPlayerHome)
            {
                return;
            }
            // Check for correct time to render
            Vector2 longLat  = Find.WorldGrid.LongLatOf(map.Tile);
            int     currHour = MoreGenDate.HoursPassedInteger(Find.TickManager.TicksAbs, longLat.x);

            if (currHour <= lastRenderedHour)
            {
                return;
            }
            if (currHour % PRModSettings.interval != PRModSettings.timeOfDay % PRModSettings.interval)
            {
                return;
            }
            // Update timing variables
            lastRenderedHour = currHour;
            lastRenderedCounter++;
            // Check if rendering is enabled
            if (!PRModSettings.enabled)
            {
                return;
            }
            // Show message window or print message
            ShowCurrentRenderMessage();
            // Start rendering
            Find.CameraDriver.StartCoroutine(DoRendering());
        }