Example #1
0
 public void __DisposeImmediately(bool disposeNative)
 {
     if (IsAlive)
     {
         IsAlive = false;
         OnDispose();
         foreach (var component in componentManager_.Components)
         {
             component.RaiseOnDisposed();
         }
         foreach (var item in asd.Particular.Lambda.FilterDeadObject(ChildrenList))
         {
             CoreObject.RemoveChild(item.CoreObject);
             if (item.IsInheriting(ChildManagementMode.Disposal))
             {
                 item.Dispose();
             }
             item.ParentInfo = null;
         }
         if (Parent != null)
         {
             Parent.ImmediatelyRemoveChild(this);
         }
         if (Layer != null)
         {
             Layer.ImmediatelyRemoveObject(this, false);
         }
         if (disposeNative)
         {
             ForceToRelease();
         }
     }
 }
Example #2
0
 /// <summary>
 /// 内部用のメソッドで、ユーザーは呼び出してはいけない。
 /// </summary>
 /// <param name="disposeNative"></param>
 public void __DisposeImmediately(bool disposeNative)
 {
     if (IsAlive)
     {
         IsAlive = false;
         OnDispose();
         if (Layer != null)
         {
             Layer.ImmediatelyRemoveObject(this, false);
         }
         if (disposeNative)
         {
             ForceToRelease();
         }
     }
 }