private bool AdvanceTime() { IChronology chronoSystem = Template <IGaiaTemplate>().ChronologicalSystem; if (CurrentTimeOfDay.BaseChronology == null) { CurrentTimeOfDay.BaseChronology = chronoSystem; } CurrentTimeOfDay.AdvanceByHour(); if (CelestialPositions.Any(cp => cp.CelestialObject.OrientationType == CelestialOrientation.SolarBody)) { int rotationalChange = 360 / chronoSystem.HoursPerDay; PlanetaryRotation += rotationalChange; int maxOrbit = chronoSystem.Months.Count() * chronoSystem.DaysPerMonth * chronoSystem.HoursPerDay; int orbitalChange = 1 / maxOrbit; OrbitalPosition += orbitalChange; if (OrbitalPosition >= maxOrbit) { OrbitalPosition -= maxOrbit; } } Save(); return(true); }
protected override void mapBindings() { base.mapBindings(); var time = new CurrentTimeOfDay(GetTimeOfDay()); injectionBinder.Bind <CurrentTimeOfDay>().ToValue(time); mediationBinder.Bind <MainMenuView>().To <MainMenuMediator>(); mediationBinder.Bind <MainMenuBackgroundView>().To <MainMenuBackgroundMediator>(); commandBinder.Bind <OptionsSignal>().To <LoadOptionsCommand>(); commandBinder.Bind <NewGameSignal>().To <NewGameCommand>(); commandBinder.Bind <LoadGameSignal>().To <LoadGameCommand>(); }