public static HeroClass GetClassByName(string Name) { HeroClass result = null; _classes.TryGetValue(Name, out result); return(result); }
static HeroClass() { _classes = new Dictionary <string, HeroClass>(); foreach (Type type in Assembly.GetAssembly(typeof(HeroClass)).GetTypes() .Where(myType => myType.IsClass && !myType.IsAbstract && myType.IsSubclassOf(typeof(HeroClass)))) { HeroClass cl = (HeroClass)(type.GetProperty("Instance").GetValue(null)); _classes.Add(cl.Name, cl); } }