Ejemplo n.º 1
0
        public void UpdateText()
        {
            BlockPos         entityPos = capi.World.Player.Entity.Pos.AsBlockPos;
            ClimateCondition climate   = capi.World.BlockAccessor.GetClimateAt(entityPos);

            GameCalendar cal       = (GameCalendar)capi.World.Calendar;
            float        stability = (float)capi.World.Player.Entity.WatchedAttributes.GetDouble("temporalStability", 0.0);

            string hour   = cal.FullHourOfDay < 10 ? "0" + cal.FullHourOfDay : "" + cal.FullHourOfDay;
            int    m      = (int)(60 * (cal.HourOfDay - cal.FullHourOfDay));
            string dot    = m % 2 == 0 ? ":" : " ";
            string minute = m < 10 ? "0" + m : "" + m;

            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.AppendLine("Date: " + cal.DayOfYear + "/" + cal.DaysPerYear + ", " + cal.Year)
            .AppendLine("Time: " + hour + dot + minute)
            .AppendLine("Global Season: " + cal.Season)
            .AppendLine("Local Temperature: " + Math.Round(climate.Temperature, 3))
            .AppendLine("Local Rainfall: " + Math.Round(climate.Rainfall, 3))
            .AppendLine("Local Fertility: " + Math.Round(climate.Fertility, 3))
            .AppendLine("Local Wind Velocity: " + GlobalConstants.CurrentWindSpeedClient.Sanitize())
            .AppendLine("Local Temporal Stability: " + Math.Round(capi.ModLoader.GetModSystem <SystemTemporalStability>().GetTemporalStability(entityPos), 3))
            .AppendLine("Player Temporal Stability: " + Math.Round(stability * 100f, 3) + "%");

            SingleComposer.GetDynamicText("clock").SetNewText(stringBuilder.ToString());
        }
        public GenericOpenHeroesRunner(IMapLoader mapLoader, EntityWorld entityWorld = null)
        {
            _mapLoader   = mapLoader;
            EventBus     = JEventBus.GetDefault();
            GameCalendar = new GameCalendar();
            int?internalMapSize = mapLoader?.GetMapSize();

            if (!internalMapSize.HasValue)
            {
                internalMapSize = 512;
            }
            Grid grid = new Grid(internalMapSize.Value, internalMapSize.Value);

            EntitySystem.BlackBoard.SetEntry("EventBus", EventBus);
            EntitySystem.BlackBoard.SetEntry("Grid", grid);
            EntitySystem.BlackBoard.SetEntry("GameCalendar", GameCalendar);
            EntitySystem.BlackBoard.SetEntry("TerrainLayer", new TerrainLayer(grid));

            if (entityWorld == null)
            {
                EntityWorld = new EntityWorld(false, true, true)
                {
                    PoolCleanupDelay = 1
                };
                LoadMap();
            }
            else
            {
                EntityWorld = entityWorld;
            }
        }
 void OnEnable()
 {
     calendar = (GameCalendar)target;
     CalculateDays();
     calendar.StartYear  = Year;
     calendar.StartDay   = int.Parse(Days[Day]);
     calendar.StartMonth = (int)Month;
 }
Ejemplo n.º 4
0
 public override void LoadContent()
 {
     _jEventBus    = BlackBoard.GetEntry <JEventBus>("EventBus");
     _gameCalendar = BlackBoard.GetEntry <GameCalendar>("GameCalendar");
 }