MrGravity.Level.Dispose C# (CSharp) Method

Dispose() public method

public Dispose ( ) : void
return void
        public void Dispose()
        {
            _mActiveAnimations.Clear();
            _backgroundParticles = null;
            var temp = _mObjects.Capacity;
            _mObjects.Clear();
            _mObjects.TrimExcess();
            _mCollisionMatrix = null;
            _mTrigger.Clear();
            _mTrigger.TrimExcess();
            _collectibleEngine = null;
            _wallEngine = null;
            _mContent = null;
            if (_mCollectableLocations != null)
            {
                _mCollectableLocations.Clear();
                _mCollectableLocations.TrimExcess();
            }
            GC.Collect();
        }

Usage Example

Exemplo n.º 1
0
        /// <summary>
        /// Handle any changes while on the level selection menu
        /// </summary>
        /// <param name="gameTime">Current time within the game</param>
        /// <param name="gameState">Current gamestate of the game</param>
        /// <param name="currentLevel">Current level of the game</param>
        public void Update(GameTime gameTime, ref GameStates gameState, ref Level currentLevel)
        {
            //Handle loading after loading screen has been drawn
            if (_mLoading == Loading)
            {
                _mLoading = None;
                if (currentLevel != null) currentLevel.Dispose();
                currentLevel = _mLevels[_mCurrentWorld * 6 + _mCurrentIndex].Level;
                currentLevel.Load(_mContent);

                currentLevel.IdealTime = _mLevels[_mCurrentWorld * 6 + _mCurrentIndex].GetGoal(LevelInfo.StarTypes.Time);
                currentLevel.CollectableCount = _mLevels[_mCurrentWorld * 6 + _mCurrentIndex].GetGoal(LevelInfo.StarTypes.Collection);

                currentLevel.TimerStar = _mLevels[_mCurrentWorld * 6 + _mCurrentIndex].GetStar(LevelInfo.StarTypes.Time);
                currentLevel.CollectionStar = _mLevels[_mCurrentWorld * 6 + _mCurrentIndex].GetStar(LevelInfo.StarTypes.Collection);
                currentLevel.DeathStar = _mLevels[_mCurrentWorld * 6 + _mCurrentIndex].GetStar(LevelInfo.StarTypes.Death);

                gameState = GameStates.StartLevelSplash;
            }

            HandleAKey(ref gameState, ref currentLevel);
            HandleBKey(ref gameState);
            HandleDirectionKey();

            UpdateStarCount();
        }