示例#1
0
 public void SetUpAsAddEvent(
     ChildManagementMode managementMode,
     ChildTransformingMode transformingMode)
 {
     ManagementMode   = managementMode;
     TransformingMode = transformingMode;
     Command          = RegistrationCommand.Add;
 }
示例#2
0
        /// <summary>
        /// 指定した2Dオブジェクトを子オブジェクトとしてこのインスタンスに追加する。
        /// </summary>
        /// <param name="child">追加する子オブジェクト</param>
        /// <param name="managementMode">子オブジェクトの管理に関する同期設定。フラグをOR演算でつなげて複数指定することができる。</param>
        /// <param name="transformingMode">子オブジェクトの変形に関する同期設定。</param>
        /// <remarks>実際に追加されるのはこのメソッドを呼び出したフレームの最後になるので注意が必要。</remarks>
        public void AddChild(Object2D child, ChildManagementMode managementMode, ChildTransformingMode transformingMode)
        {
            var e = new EventToManageFamilyship2D(this, child);

            e.SetUpAsAddEvent(managementMode, transformingMode);
            Engine.ChangesToBeCommited.Enqueue(e);

            child.ParentInfo = new ParentInfo2D(this, managementMode);
            SyncContainerWithChild(child);
        }
示例#3
0
 internal void ImmediatelyAddChild(
     Object2D child,
     ChildManagementMode managementMode,
     ChildTransformingMode transformingMode)
 {
     CoreObject.AddChild(
         child.CoreObject,
         asd.Particular.ChildManagementMode.ToInt(managementMode),
         (swig.ChildTransformingMode)transformingMode);
     ChildrenList.Add(child);
 }
示例#4
0
 public Family(Vector2DF position, ChildManagementMode mode)
 {
     this.position = position;
     this.mode     = mode;
 }
示例#5
0
 private bool IsInheriting(ChildManagementMode mode)
 {
     return(ParentInfo != null && asd.Particular.ChildManagementMode.And(ParentInfo.ManagementMode, mode) != 0);
 }
示例#6
0
 public ParentInfo2D(Object2D parent, ChildManagementMode managementMode)
 {
     Parent         = parent;
     ManagementMode = managementMode;
 }