protected virtual void OnClear() { if (_toClean != null && _toClean.Count > 0) { foreach (Mesh mesh in _toClean) { GameUtil.DestroyMesh(mesh); } } _toClean = null; if (combineMeshCacheList != null && combineMeshCacheList.Count > 0) { foreach (Mesh mesh in combineMeshCacheList) { GameUtil.DestroyMesh(mesh); } } _matToTrailList.Clear(); _matToTrailList = null; if (_activeTrail != null) { _activeTrail.ClearMesh(); _activeTrail.Dispose(); _activeTrail = null; } if (_fadingTrails != null) { foreach (PCTrail fadingTrail in _fadingTrails) { if (fadingTrail != null) { fadingTrail.ClearMesh(); fadingTrail.Dispose(); } } _fadingTrails.Clear(); } TrailData.ClearInstanceMaterial(); TrailData = null; }
public virtual void Reset() { if (TrailData == null) { TrailData = new PCTrailRendererData(); } TrailData.Lifetime = 1; TrailData.UsingSimpleColor = false; TrailData.UsingSimpleSize = false; TrailData.ColorOverLife = new Gradient(); TrailData.SimpleColorOverLifeStart = Color.white; TrailData.SimpleColorOverLifeEnd = new Color(1, 1, 1, 0); TrailData.SizeOverLife = new AnimationCurve(new Keyframe(0, 1), new Keyframe(1, 0)); TrailData.SimpleSizeOverLifeStart = 1; TrailData.SimpleSizeOverLifeEnd = 0; }