Пример #1
0
 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);
        }