Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View File

@@ -0,0 +1,82 @@
using System;
using System.Collections.Generic;
using Server;
namespace Server.ACC.CM
{
public class ModuleList : Dictionary<Type,Module>
{
private Serial m_Owner;
public ModuleList( Serial serial )
{
m_Owner = serial;
}
public List<Module> GetListOfModules()
{
return new List<Module>(Values);
}
public bool Contains( Type type )
{
return ContainsKey( type );
}
public void Add( Module mod )
{
if( ContainsKey( mod.GetType() ) )
return;
Add( mod.GetType(), mod );
}
public void Add( Type type )
{
if( ContainsKey( type ) )
return;
object[] Params = new object[1]{ m_Owner };
Module mod = Activator.CreateInstance( type, Params ) as Module;
if( mod != null )
Add( type, mod );
}
public void Change( Module mod )
{
if (ContainsValue(mod))
this[mod.GetType()] = mod;
else
Add(mod);
}
public void Append( Module mod, bool negatively )
{
if( ContainsKey( mod.GetType() ) )
((Module)this[ mod.GetType() ]).Append( mod, negatively );
}
public void Remove( Module mod )
{
Remove( mod.GetType() );
if( Count == 0 )
CentralMemory.Remove( m_Owner );
}
public new void Remove( Type type )
{
base.Remove( type );
if( Count == 0 )
CentralMemory.Remove( m_Owner );
}
public Module Get( Type type )
{
if (Contains(type))
return this[type];
else return null;
}
}
}