public void PMXParseVer20(string fileName, PMXVersion version) { Assert.Equal(version, PMXParser.GetVersion(fileName)); using (var stream = File.OpenRead(fileName)) { var pmx = PMXParser.Parse(stream); Assert.Equal(stream.Length, stream.Position); } }
private static async UniTask Build(ModelState obj, Model3D model, Model3DLoadMeshDelegate load) { obj.CancellationToken.ThrowIfCancellationRequested(); Debug.Assert(model.LifeState == LifeState.Activating); // Run on thread pool await UniTask.SwitchToThreadPool(); // ------------------------------ // ↓ thread pool obj.CancellationToken.ThrowIfCancellationRequested(); using var pmx = PMXParser.Parse(obj.File.GetStream()); // [NOTE] Though pmx is read only, overwrite pmx data. PmxModelLoadHelper.ReverseTrianglePolygon(pmx.SurfaceList.AsSpan().AsWritable()); await LoadToModel(pmx, model, load, obj); }