private void OnDestroy()
 {
     if (current != this)
     {
         return;
     }
     current = null;
     foreach (var i in allEvents)
     {
         i.DisposeEvent();
     }
     allEvents = null;
     data.buffer.Dispose();
     sceneController.OnDestroy();
     PipelineSharedData.DisposeAll();
 }