public static uint[] Read(string inputPath) { using (var reader = new BinaryReader(new FileStream(inputPath, FileMode.Open))) { Action <int> skipBytes = numberOfBytes => SkipBytes(reader, numberOfBytes); var readFunctions = new FoxLib.Tpp.RailUniqueIdFile.ReadFunctions( reader.ReadUInt16, reader.ReadUInt32, skipBytes); return(FoxLib.Tpp.RailUniqueIdFile.Read(readFunctions)); } }
/// <summary> /// Import a .frld file. /// </summary> /// <param name="ctx"></param> public override void OnImportAsset(AssetImportContext ctx) { var railIdsAsset = UnityEngine.ScriptableObject.CreateInstance <RailUniqueIdSet>(); railIdsAsset.name = Path.GetFileNameWithoutExtension(ctx.assetPath); railIdsAsset.IsReadOnly = true; using (var reader = new BinaryReader(new FileStream(ctx.assetPath, FileMode.Open), FoxLib.Tpp.RouteSet.getEncoding())) { Action <int> skipBytes = numberOfBytes => SkipBytes(reader, numberOfBytes); var readFunctions = new FoxLib.Tpp.RailUniqueIdFile.ReadFunctions(reader.ReadUInt16, reader.ReadUInt32, skipBytes); railIdsAsset.Ids = FoxLib.Tpp.RailUniqueIdFile.Read(readFunctions); } ctx.AddObjectToAsset(railIdsAsset.name, railIdsAsset); ctx.SetMainObject(railIdsAsset); }