コード例 #1
0
ファイル: OrionApplication.cs プロジェクト: zi-yu/orionsbelt
        /// <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);
                }
            }
        }