public EffectObject2D() { coreEffectObject = Engine.ObjectSystemFactory.CreateEffectObject2D(); var p = coreEffectObject.GetPtr(); if (GC.Object2Ds.GetObject(p) != null) { Particular.Helper.ThrowException(""); } GC.Object2Ds.AddObject(p, this); }
public override void Destroy() { lock( this ) { if( coreEffectObject == null ) return; GC.Collector.AddObject( coreEffectObject ); coreEffectObject = null; } Particular.GC.SuppressFinalize(this); }