public T Read <T>(ContentManager manager) { string name = ReadString(); IContentTypeReader typeReader = manager.GetReader(name); if (typeReader == null) { return(default(T)); } return(Read <T>(manager, typeReader)); }
internal void AddAssembly(Assembly assembly) { foreach (Type t in assembly.GetTypes()) { if (t.GetInterfaces().Contains(typeof(IContentTypeReader)) && !(t.IsInterface || t.IsAbstract)) { var attr = (ContentTypeReaderAttribute)t.GetCustomAttributes(typeof(ContentTypeReaderAttribute), true).FirstOrDefault(); if (attr != null) { IContentTypeReader reader = Activator.CreateInstance(t) as IContentTypeReader; typeReaders.Add(t.FullName, reader); if (attr.OutputType != null) { typeReadersOutput.Add(attr.OutputType.FullName, reader); } } } } }
public T Read <T>(ContentManager manager, IContentTypeReader typeReader) { return((T)typeReader.Read(manager, this)); }