#W# Initial Commit: Avatars Conquest
This commit is contained in:
commit
8eae46895e
7512 changed files with 416187 additions and 0 deletions
103
Scripts/Engines/Reports/Objects/Staffing/Info.cs
Normal file
103
Scripts/Engines/Reports/Objects/Staffing/Info.cs
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
using Server.Accounting;
|
||||
using Server.Engines;
|
||||
using Server.Engines.Help;
|
||||
|
||||
namespace Server.Engines.Reports
|
||||
{
|
||||
public abstract class BaseInfo : IComparable
|
||||
{
|
||||
private static TimeSpan m_SortRange;
|
||||
|
||||
public static TimeSpan SortRange{ get{ return m_SortRange; } set{ m_SortRange = value; } }
|
||||
|
||||
private string m_Account;
|
||||
private string m_Display;
|
||||
private PageInfoCollection m_Pages;
|
||||
|
||||
public string Account{ get{ return m_Account; } set{ m_Account = value; } }
|
||||
public PageInfoCollection Pages{ get{ return m_Pages; } set{ m_Pages = value; } }
|
||||
|
||||
public string Display
|
||||
{
|
||||
get
|
||||
{
|
||||
if ( m_Display != null )
|
||||
return m_Display;
|
||||
|
||||
if ( m_Account != null )
|
||||
{
|
||||
IAccount acct = Accounts.GetAccount( m_Account );
|
||||
|
||||
if ( acct != null )
|
||||
{
|
||||
Mobile mob = null;
|
||||
|
||||
for ( int i = 0; i < acct.Length; ++i )
|
||||
{
|
||||
Mobile check = acct[i];
|
||||
|
||||
if ( check != null && (mob == null || check.AccessLevel > mob.AccessLevel) )
|
||||
mob = check;
|
||||
}
|
||||
|
||||
if ( mob != null && mob.Name != null && mob.Name.Length > 0 )
|
||||
return ( m_Display = mob.Name );
|
||||
}
|
||||
}
|
||||
|
||||
return ( m_Display = m_Account );
|
||||
}
|
||||
}
|
||||
|
||||
public int GetPageCount( PageResolution res, DateTime min, DateTime max )
|
||||
{
|
||||
return StaffHistory.GetPageCount( m_Pages, res, min, max );
|
||||
}
|
||||
|
||||
public BaseInfo( string account )
|
||||
{
|
||||
m_Account = account;
|
||||
m_Pages = new PageInfoCollection();
|
||||
}
|
||||
|
||||
public void Register( PageInfo page )
|
||||
{
|
||||
m_Pages.Add( page );
|
||||
}
|
||||
|
||||
public void Unregister( PageInfo page )
|
||||
{
|
||||
m_Pages.Remove( page );
|
||||
}
|
||||
|
||||
public int CompareTo( object obj )
|
||||
{
|
||||
BaseInfo cmp = obj as BaseInfo;
|
||||
|
||||
int v = cmp.GetPageCount( cmp is StaffInfo ? PageResolution.Handled : PageResolution.None, DateTime.Now - m_SortRange, DateTime.Now )
|
||||
- this.GetPageCount( this is StaffInfo ? PageResolution.Handled : PageResolution.None, DateTime.Now - m_SortRange, DateTime.Now );
|
||||
|
||||
if ( v == 0 )
|
||||
v = String.Compare( this.Display, cmp.Display );
|
||||
|
||||
return v;
|
||||
}
|
||||
}
|
||||
|
||||
public class StaffInfo : BaseInfo
|
||||
{
|
||||
public StaffInfo( string account ) : base( account )
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class UserInfo : BaseInfo
|
||||
{
|
||||
public UserInfo( string account ) : base( account )
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue