Example #1
0
        public void Dispose()
        {
            var pinnable = new PinnableDisposable <DisposeChecker>(new DisposeChecker());

            pinnable.Dispose();

            Assert.Equal(1, pinnable.Value.Disposed);
        }
        private void SetupSplines()
        {
            var splineFile = SplineFile.FromPath(SplineFilePath);

            _splines = new PinnableDisposable <Spline> [splineFile.Splines.Length];

            for (int x = 0; x < _splines.Length; x++)
            {
                _splines[x] = new PinnableDisposable <Spline>(new Spline(splineFile.Splines[x]));
            }

            // Make unmanaged pointer to array of spline pointers.
            var splinePointers = new BlittablePointer <Spline> [_splines.Length + 1];

            for (int x = 0; x < _splines.Length; x++)
            {
                splinePointers[x] = _splines[x].Pointer;
            }

            splinePointers[^ 1] = (Spline *)0; // This list finishes with a null pointer.