Disposer.cs 476 B

123456789101112131415161718192021222324252627282930
  1. using System;
  2. using MongoDB.Bson.Serialization.Attributes;
  3. namespace ETModel
  4. {
  5. [BsonKnownTypes(typeof(Component))]
  6. public abstract class Disposer : Object, IDisposable
  7. {
  8. [BsonIgnore]
  9. public bool IsFromPool { get; set; }
  10. [BsonIgnore]
  11. public bool IsDisposed { get; set; }
  12. public virtual void Dispose()
  13. {
  14. if (this.IsDisposed)
  15. {
  16. return;
  17. }
  18. this.IsDisposed = true;
  19. if (this.IsFromPool)
  20. {
  21. Game.ObjectPool.Recycle(this);
  22. }
  23. }
  24. }
  25. }