/// <summary>Escreve este controlo em html</summary> protected override void Render(HtmlTextWriter writer) { UserWatcher queue = (UserWatcher)Page.Application["AlnitakOnlineUsers"]; if (queue == null || !queue.HasRegisteredUsers) { writer.WriteLine("?"); return; } int i = queue.List.Count; IDictionaryEnumerator it = queue.List.GetEnumerator(); while (it.MoveNext()) { writer.Write(OrionGlobals.getLink((User)it.Value)); /*if(ShowDate) { * writer.Write(ParseDate((DateTime) it.Key)); * }*/ if (--i != 0) { writer.WriteLine(Separator); } } }
/// <summary>Regista a entrada de um utilizador online</summary> private void RegisterOnlineUser(User user) { UserWatcher users = (UserWatcher)Application["AlnitakOnlineUsers"]; users.Register(user); UserOnline(); Log.log("User " + user.Nick + "(" + user.UserId + ") has entered the game"); }
/// <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); } } }
/// <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 ); } } }