Esempio n. 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();
         }
     }
 }
Esempio n. 2
0
 internal void ImmediatelyRemoveChild(Object2D child)
 {
     if (IsAlive)
     {
         CoreObject.RemoveChild(child.CoreObject);
         ChildrenList.Remove(child);
     }
 }
 /// <summary>
 /// 指定した子オブジェクトをこのインスタンスから削除する。
 /// </summary>
 /// <param name="child"></param>
 public void RemoveChild(Object2D child)
 {
     CoreObject.RemoveChild(child.CoreObject);
     children_.Remove(child);
 }