Exemple #1
0
        public Transition()
        {
            SwigObject = Engine.ObjectSystemFactory.CreateTransition();

            var p = SwigObject.GetPtr();
            if (GC.Transitions.GetObject(p) != null)
            {
                Particular.Helper.ThrowException("");
            }
            GC.Transitions.AddObject(p, this);
        }
Exemple #2
0
        public Transition()
        {
            SwigObject = Engine.ObjectSystemFactory.CreateTransition();

            var p = SwigObject.GetPtr();

            if (GC.Transitions.GetObject(p) != null)
            {
                Particular.Helper.ThrowException("");
            }
            GC.Transitions.AddObject(p, this);
        }
Exemple #3
0
 /// <summary>
 /// 強制的に使用しているメモリを開放する。
 /// </summary>
 /// <remarks>
 /// 何らかの理由でメモリが不足した場合に実行する。
 /// 開放した後の動作の保証はしていないので、必ず参照が残っていないことを確認する必要がある。
 /// </remarks>
 public void ForceToRelease()
 {
     lock (this)
     {
         if (SwigObject == null)
         {
             return;
         }
         GC.Collector.AddObject(SwigObject);
         SwigObject = null;
     }
     Particular.GC.SuppressFinalize(this);
 }
Exemple #4
0
        public Transition()
        {
            coreInstance = Engine.ObjectSystemFactory.CreateTransition();

            var p = coreInstance.GetPtr();

            if (GC.Transitions.Contains(p))
            {
                Particular.Helper.ThrowException("");
            }

            GC.Transitions.AddObject(p, this);
        }
Exemple #5
0
        protected virtual void Dispose(bool disposing)
        {
            if (disposed)
            {
                return;
            }

            var core = coreInstance;

            if (core != null)
            {
                GC.Collector.AddObject(core);
                coreInstance = null;
            }

            disposed = true;
        }
Exemple #6
0
 public void Destroy()
 {
     lock (this)
     {
         if (SwigObject == null) return;
         GC.Collector.AddObject(SwigObject);
         SwigObject = null;
     }
     Particular.GC.SuppressFinalize(this);
 }