public static RTTIRefObject GetTypeById(this HzdCore core, BaseGGUUID id) { foreach (var obj in core.Binary) { if (obj is RTTIRefObject refObj && refObj.ObjectUUID.Equals(id)) { return(refObj); } } return(null); }
public HzdCore LoadFile(string path, string file, bool throwError = false) { using var fs = LoadFileStream(path, file, throwError); return(fs == null ? null : HzdCore.FromStream(fs, file)); }
public HzdCore LoadFileFromDir(string dir, HashSet <string> fileFilter, string file) { using var fs = LoadFileStreamFromDir(dir, fileFilter, file); return(fs == null ? null : HzdCore.FromStream(fs, file)); }
public static HzdCore FromFile(string path, string source) { using var fs = File.OpenRead(path); return(HzdCore.FromStream(fs, source)); }
public static T GetType <T>(this HzdCore core) { return(GetTypes <T>(core).FirstOrDefault()); }
public static List <T> GetTypes <T>(this HzdCore core) { return(core.Binary.Where(x => x is T).Cast <T>().ToList()); }
public static Dictionary <BaseGGUUID, T> GetTypesById <T>( this HzdCore core) where T : RTTIRefObject { return(core.Binary.Where(x => x is T) .ToDictionary(x => (BaseGGUUID)((T)x).ObjectUUID, x => (T)x)); }
public static Dictionary <BaseGGUUID, RTTIRefObject> GetTypesById(this HzdCore core) => GetTypesById <RTTIRefObject>(core);