public override void Destroy() { lock( this ) { if( coreCameraObject == null ) return; GC.Collector.AddObject( coreCameraObject ); coreCameraObject = null; } Particular.GC.SuppressFinalize(this); }
public CameraObject2D() { coreCameraObject = Engine.ObjectSystemFactory.CreateCameraObject2D(); var p = coreCameraObject.GetPtr(); if (GC.Object2Ds.GetObject(p) != null) { throw new Exception(); } GC.Object2Ds.AddObject(p, this); }
public CameraObject2D() { coreCameraObject = Engine.ObjectSystemFactory.CreateCameraObject2D(); var p = coreCameraObject.GetPtr(); if (GC.Object2Ds.GetObject(p) != null) { Particular.Helper.ThrowException(""); } GC.Object2Ds.AddObject(p, this); }