public static int SearchPackageHandler(Assembly ass)
{
int count = 0;
m_packagesHandlers.Clear();
Type[] tList = ass.GetTypes();
string interfaceStr = typeof(IPackageHandler).ToString();
foreach (Type type in tList)
{
if (type.IsClass != true) continue;
if (type.GetInterface(interfaceStr) == null) continue;
PackageHandlerAttribute[] atts = (PackageHandlerAttribute[])type.GetCustomAttributes(typeof(PackageHandlerAttribute), true);
if (atts.Length > 0)
{
count++;
RegisterPacketHandler(atts[0].Code, (IPackageHandler)Activator.CreateInstance(type));
//m_packagesHandlers[atts[0].Code] = (IPackageHandler)Activator.CreateInstance(type);
}
}
return count;
}