Пример #1
0
 static GameAssetWriter()
 {
     writerClasses = new Dictionary <Type, Type>();
     foreach (Type item in AssemblyUtility.FindClasses(typeof(GameAssetWriter), true, true))
     {
         GameAssetWriterAttribute attribute = item.GetCustomAttribute <GameAssetWriterAttribute>();
         writerClasses.Add(attribute.AssetType, item);
     }
 }
Пример #2
0
        static GameModuleFactory()
        {
            ICollection <Type> moduleClasses = AssemblyUtility.FindClasses(typeof(GameModule), true, false);

            entries = new Dictionary <int, ConstructorInfo>(moduleClasses.Count);

            foreach (Type item in moduleClasses)
            {
                ClassIDAttribute attribute = item.GetCustomAttribute <ClassIDAttribute>();
                if (attribute != null)
                {
                    Debug.Assert(entries.ContainsKey(attribute.ClassID) == false);
                    entries.Add(attribute.ClassID, item.GetConstructor(Type.EmptyTypes));
                }
            }
        }