Ejemplo n.º 1
0
        /// <summary>Escreve este controlo em html</summary>
        protected override void Render(HtmlTextWriter writer)
        {
            EnableViewState = false;

            Universe      universe = Universe.instance;
            ILanguageInfo info     = CultureModule.getLanguage();

            ChronosStats stats = (ChronosStats)Page.Application["ChronosStats"];

            writer.WriteLine("<div class='stats-box'>");
            writer.WriteLine("<div align='center'><b>" + info.getContent("stats_title") + "</b></div>");
            writer.WriteLine(info.getContent("stats_alliances") + "<b>: " + (universe.allianceCount - 1) + "</b><br />");
            writer.WriteLine(info.getContent("stats_rulers") + ": <b>" + universe.rulerCount + "</b><br />");

            int maxP = Coordinate.MaximumGalaxies * Coordinate.MaximumSystems * Coordinate.MaximumSectors * Coordinate.MaximumPlanets;

            writer.WriteLine(info.getContent("stats_planets") + ": <b>" + universe.planetCount + "/" + maxP + "</b><br />");


            writer.WriteLine(info.getContent("stats_nextCoordinate") + ": <b>" + universe.CurrentCoordinate + "</b><br />");
            writer.WriteLine("<div>--</div>");
            writer.WriteLine(info.getContent("stats_timeFromLastReboot") + ": <b>" + stats.StartTime + "</b><br />");
            writer.WriteLine("Dress Up: <b>" + stats.DressUp + "</b><br />");
            writer.WriteLine(info.getContent("stats_lastTurnTime") + ": <b>" + stats.LastTurnTime + "</b><br />");
            writer.WriteLine(info.getContent("stats_turnSinceReboot") + ": <b>" + stats.TurnCount + "</b><br />");
            writer.WriteLine(info.getContent("stats_totalTurns") + ": <b>" + universe.TurnCount + "</b><br />");
            writer.WriteLine(info.getContent("stats_turnTime") + ": <b>" + universe.TurnTime + "</b><br />");
            writer.WriteLine(info.getContent("stats_lastTurn") + ": <b>" + stats.LastTurn.ToLongTimeString() + "</b><br />");
            writer.WriteLine(info.getContent("stats_nextTurn") + ": <b>" + stats.LastTurn.AddMilliseconds(universe.TurnTime).ToLongTimeString() + "</b><br />");
            if (Universe.instance.Persistence is UniverseSerializer)
            {
                writer.WriteLine("Stream Size: <b>" + (((UniverseSerializer)Universe.instance.Persistence).StreamSize / 1024) + " Kb</b><br />");
            }
            writer.WriteLine("<div>--</div>");
            writer.WriteLine(info.getContent("stats_persistence") + ": <b>" + Chronos.Persistence.UniverseSerializer.Instance.GetType().Name + "</b><br />");
            writer.WriteLine("<div>--</div>");
            writer.WriteLine("<b>Alnitak: </b><br/>{0}<p/>", OrionGlobals.AlnitakInfo.Replace(";", "<br/>"));
            writer.WriteLine("<b>Chronos: </b><br/>{0}", Chronos.Utils.Platform.ChronosInfo.Replace(";", "<br/>"));
            writer.WriteLine("</div>");

            registerScripts();

            writer.WriteLine("<p />");
            writeCacheInfo(writer, info);
            writer.WriteLine("<p />");
            writeApplicationInfo(writer, info);

            OrionGlobals.RegisterRequest(Chronos.Messaging.MessageType.Generic, info.getContent("section_admin"));
        }
Ejemplo n.º 2
0
        /// <summary>notifica o inicio da passagem de turno</summary>
        private void turnEnd(object src, EventArgs args)
        {
            DateTime now  = DateTime.Now;
            TimeSpan span = now - turnTimeStart;

            Application.Lock();

            ChronosStats stats = (ChronosStats)Application["ChronosStats"];

            stats.LastTurnTime = span;
            stats.LastTurn     = now;
            ++stats.TurnCount;

            Application.UnLock();

            Chronos.Utils.Log.log("Chronos Turn End! " + span);
        }
Ejemplo n.º 3
0
        /// <summary>Escreve este controlo em html</summary>
        protected override void Render(HtmlTextWriter writer)
        {
            ChronosStats stats = (ChronosStats)Page.Application["ChronosStats"];

            writer.Write(stats.MinutesToNextTurn > 0 ? stats.MinutesToNextTurn : 0);
        }
Ejemplo n.º 4
0
        /// <summary>Marca o incio da aplicacao</summary>
        protected void Application_Start(object src, EventArgs e)
        {
            Log.log("---");
            Log.log(OrionGlobals.AlnitakInfo);
            Log.log(Chronos.Utils.Platform.ChronosInfo);
            Log.log("---");
            Log.log("Starting Alnitak...");

            GenericIdentity identity = new GenericIdentity("guest");

            defaultPrincipal = new GenericPrincipal(identity, defaultRoles);

            DateTime now     = DateTime.Now;
            DateTime dressUp = now;

            Universe.Events.TurnStart += new EventHandler(turnStart);
            Universe.Events.TurnEnd   += new EventHandler(turnEnd);
            Universe.Events.TurnError += new EventHandler(Events_TurnError);

            if (OrionGlobals.TraceTurn)
            {
                Universe.Events.UniverseTrace += new EventHandler(Events_TraceUniverse);
            }

            try {
                Log.log("Loading Universe...");
                Universe.Parameters = OrionGlobals.Persistence;
                Universe.instance   = Universe.load();

                if (null == Universe.instance)
                {
                    Universe.instance = new Universe();
                    Universe.instance.init();
                }
                Log.log("Done!");

                dressUp = DateTime.Now;
            } catch (Exception ex) {
                Log.log(ex);
                ExceptionLog.log(ex);
            } finally {
                try{
                    ChronosStats stats = new ChronosStats();
                    stats.StartTime                        = now;
                    stats.DressUp                          = dressUp - now;
                    Application["ChronosStats"]            = stats;
                    Application["AlnitakOnlineUsers"]      = new UserWatcher();
                    Application["AlnitakOnlineUsersCount"] = 0;

                    OrionGlobals.getRoles();

                    if (OrionGlobals.IsTurnTimeSpecified)
                    {
                        Universe.instance.TurnTime = OrionGlobals.TurnTime;
                    }

                    Universe.instance.start();
                    Universe.RankingBattleEnded += new Universe.RankingBattleHandler(OrionGlobals.RankingBattleEndend);

                    Log.log("... Done!");
                } catch (Exception ex) {
                    throw new AlnitakException(ex.Message);
                }
            }
        }