| Home Page | Recent Changes | Preferences

# SessionMaster

UT2003 :: Object >> SessionMaster (Ladder1.46)

    00001  //-----------------------------------------------------------
    00002  // Ladder.SessionMaster
    00003  // Sessions concept by El_Muerte[TDS]
    00004  // http://wiki.beyondunreal.com/wiki/Sessions
    00005  //
    00006  // Controls and tracks all Session objects for use by webadmin
    00007  //-----------------------------------------------------------
    00008  class SessionMaster extends Object transient;
    00009
    00010  var array<Session> Sessions;
    00011
    00012  // get a session by it's hash
    00013  function Session getSession(string hash, optional bool bCreateNew)
    00014  {
    00015      local int i;
    00016
    00017      for (i = 0; i < sessions.length; i++) if (Sessions[i].GetHash() == hash) return Sessions[i];
    00018      if (bCreateNew) return createSession();
    00019      return none;
    00020  }
    00021
    00022  // destroy an existing session
    00023  function bool destroySession(Session session)
    00024  {
    00025      local int i;
    00026      local string Hash;
    00027
    00028      Hash = Session.GetHash();
    00029      for (i = 0; i < sessions.length; i++)
    00030          if (Sessions[i].GetHash() == Hash)
    00031          {
    00032
    00033              Sessions.Remove(i, 1);
    00034              return true;
    00035          }
    00036
    00037      return false;
    00038  }
    00039
    00040  // create a new session
    00041  private function Session createSession()
    00042  {
    00043      local Session TempS;
    00044
    00045      TempS = new class'Session';
    00046      if (TempS.SetHash(CreateSessionHash())) Sessions[Sessions.Length] = TempS;
    00047
    00048      return TempS;
    00049  }
    00050
    00051  // create a unique session hash
    00052  function string createSessionHash()
    00053  {
    00054      local int i;
    00055      local string temphash;
    00056
    00057      do {
    00058          temphash = Right("00000"$string(Rand(65536)), 5)$Right("00000"$string(Rand(65536)), 5);
    00059          for (i = 0; i < sessions.length; i++)
    00060              if (Sessions[i].GetHash() == temphash) break;
    00061      } until (i == sessions.length);
    00062    return temphash;
    00063  }

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In