Exemple #1
0
        protected virtual void OnDestroy()
        {
            OnDisable();

            if (_activeTrail != null)
            {
                _activeTrail.Dispose();
                _activeTrail = null;
            }

            if (_fadingTrails != null)
            {
                {
                    var __list3      = _fadingTrails;
                    var __listCount3 = __list3.Count;
                    for (int __i3 = 0; __i3 < __listCount3; ++__i3)
                    {
                        var fadingTrail = (PCTrail)__list3[__i3];
                        {
                            if (fadingTrail != null)
                            {
                                fadingTrail.Dispose();
                            }
                        }
                    }
                }
                _fadingTrails.Clear();
            }
        }
        protected virtual void OnDestroy()
        {
            GlobalTrailRendererCount--;

            if (GlobalTrailRendererCount == 0)
            {
                if (_toClean != null && _toClean.Count > 0)
                {
                    foreach (Mesh mesh in _toClean)
                    {
                        if (Application.isEditor)
                        {
                            DestroyImmediate(mesh, true);
                        }
                        else
                        {
                            Destroy(mesh);
                        }
                    }
                }

                _toClean = null;
                _matToTrailList.Clear();
                _matToTrailList = null;
            }

            if (_activeTrail != null)
            {
                _activeTrail.Dispose();
                _activeTrail = null;
            }

            if (_fadingTrails != null)
            {
                foreach (PCTrail fadingTrail in _fadingTrails)
                {
                    if (fadingTrail != null)
                    {
                        fadingTrail.Dispose();
                    }
                }

                _fadingTrails.Clear();
            }
        }
Exemple #3
0
 protected virtual void OnDestroy()
 {
     TrailRenderer_Base.GlobalTrailRendererCount--;
     if (TrailRenderer_Base.GlobalTrailRendererCount == 0)
     {
         if (TrailRenderer_Base._toClean != null && TrailRenderer_Base._toClean.Count > 0)
         {
             for (int i = 0; i < TrailRenderer_Base._toClean.Count; i++)
             {
                 Mesh mesh = TrailRenderer_Base._toClean[i];
                 if (mesh != null)
                 {
                     if (Application.isEditor)
                     {
                         Object.DestroyImmediate(mesh, true);
                     }
                     else
                     {
                         Object.Destroy(mesh);
                     }
                 }
             }
         }
         TrailRenderer_Base._toClean = null;
         TrailRenderer_Base._matToTrailList.Clear();
         TrailRenderer_Base._matToTrailList = null;
     }
     if (this._activeTrail != null)
     {
         this._activeTrail.Dispose();
         this._activeTrail = null;
     }
     if (this._fadingTrails != null)
     {
         for (int j = 0; j < this._fadingTrails.Count; j++)
         {
             PCTrail pCTrail = this._fadingTrails[j];
             if (pCTrail != null)
             {
                 pCTrail.Dispose();
             }
         }
         this._fadingTrails.Clear();
     }
 }
 protected virtual void OnDestroy()
 {
     GlobalTrailRendererCount--;
     if (GlobalTrailRendererCount == 0)
     {
         if ((_toClean != null) && (_toClean.Count > 0))
         {
             for (int i = 0; i < _toClean.Count; i++)
             {
                 Mesh mesh = _toClean[i];
                 if (mesh != null)
                 {
                     if (Application.isEditor)
                     {
                         UnityEngine.Object.DestroyImmediate(mesh, true);
                     }
                     else
                     {
                         UnityEngine.Object.Destroy(mesh);
                     }
                 }
             }
         }
         _toClean = null;
         _matToTrailList.Clear();
         _matToTrailList = null;
     }
     if (this._activeTrail != null)
     {
         this._activeTrail.Dispose();
         this._activeTrail = null;
     }
     if (this._fadingTrails != null)
     {
         for (int j = 0; j < this._fadingTrails.Count; j++)
         {
             PCTrail trail = this._fadingTrails[j];
             if (trail != null)
             {
                 trail.Dispose();
             }
         }
         this._fadingTrails.Clear();
     }
 }
Exemple #5
0
 public void ClearSystem(bool emitState)
 {
     if (this._fadingTrails != null)
     {
         for (int i = 0; i < this._fadingTrails.Count; i++)
         {
             PCTrail pCTrail = this._fadingTrails[i];
             if (pCTrail != null && pCTrail != this._activeTrail)
             {
                 pCTrail.Dispose();
             }
         }
         this._fadingTrails.Clear();
     }
     this.Emit  = emitState;
     this._emit = !emitState;
     this.CheckEmitChange();
 }