// Should be called at some point before leaving state public override void CleanUp(GameManager pGameManager) { GameManager.PushHighScoreToFont(); ShipManager.Purge(); TimerManager.PurgeAllNodes(); GameObjectManager.PurgeAllNodes(); SpriteBatch pSBatch = SpriteBatchManager.Find(SpriteBatch.Name.Boxes); pSBatch.GetSBNodeManager().PurgeAllNodes(); pSBatch = SpriteBatchManager.Find(SpriteBatch.Name.Sprites); pSBatch.GetSBNodeManager().PurgeAllNodes(); ColPairManager.PurgeAllNodes(); DelayedObjectManager.PurgeAll(); InputSubject pInputSubject = InputManager.GetArrowLeftSubject(); pInputSubject.PurgeAll(); pInputSubject = InputManager.GetArrowRightSubject(); pInputSubject.PurgeAll(); pInputSubject = InputManager.GetSpaceSubject(); pInputSubject.PurgeAll(); Handle(pGameManager); }