Exemplo n.º 1
0
        public void OnNext(long value)
        {
            _totalTicks++;
            int currentTotalSeconds = (int)(_totalTicks / TicksInSecond);

            // var currentTime = DateTime.UtcNow;
            // var substraction = currentTime.Subtract(Game.StartDate);
            //  var totalSecondsDouble = substraction.TotalSeconds;
            //  int currentTotalSeconds = Convert.ToInt32(totalSecondsDouble);

            if (currentTotalSeconds == _totalSeconds)
            {
                return;
            }

            _totalSeconds = currentTotalSeconds;

            var currentTotalMinutes = currentTotalSeconds + _startGameDate.Hour * MinutesInHour;
            var currentYear         = currentTotalMinutes / (MinutesInHour * HoursInDay * DaysInMonth * MonthesInYear);
            var currentWithoutYear  = currentTotalMinutes % (MinutesInHour * HoursInDay * DaysInMonth * MonthesInYear);

            var currentMonth        = currentWithoutYear / (MinutesInHour * HoursInDay * DaysInMonth);
            var currentWithoutMonth = currentWithoutYear % (MinutesInHour * HoursInDay * DaysInMonth);

            var currentDay        = currentWithoutMonth / (MinutesInHour * HoursInDay);
            var currentWithoutDay = currentWithoutMonth % (MinutesInHour * HoursInDay);

            var currentHour   = currentWithoutDay / (MinutesInHour);
            var currentMinute = currentWithoutDay % (MinutesInHour);

            _currentGameDate = new GameDateTime(currentYear, currentMonth, currentDay, currentHour, currentMinute);

            /*
             *
             * var currentTotalMinutes = (int)substraction.TotalMinutes + _startGameDate.Hour;
             * var currentYear = currentTotalMinutes / (24 * 10 * 12);
             * var currentWithoutYear = currentTotalMinutes % (24 * 10 * 12);
             *
             * var currentMonth = currentWithoutYear / (24 * 10);
             * var currentWithoutMonth = currentWithoutYear % (24 * 10);
             *
             * var currentDay = currentWithoutMonth / (24);
             * var currentWithoutDay = currentWithoutMonth % (24);
             *
             * var currentMinute = substraction.Seconds;
             *
             * _currentGameDate = new GameDateTime(currentYear, currentMonth, currentDay, currentWithoutDay, currentMinute);*/
        }
Exemplo n.º 2
0
 public DayNightCycle()
 {
     _startGameDate   = new GameDateTime(0, 0, 0, 8, 0);
     _currentGameDate = _startGameDate;
 }