Пример #1
0
        public MClipElement Clone(MClipsManager p_baseClipsManagerT)
        {
            MClipElement newClip = new MClipElement(p_baseClipsManagerT);

            newClip.imageElement = imageElement;
            newClip.clipRect     = clipRect;
            newClip.imgClip      = imgClip;
            return(newClip);
        }
Пример #2
0
        public MClipsManager CloneReference(Form_Main form_MAT)
        {
            MClipsManager newInstance = new MClipsManager(form_MAT);

            for (int i = 0; i < Count(); i++)
            {
                newInstance.Add(this[i].Clone());
            }
            return(newInstance);
        }
Пример #3
0
        //克隆导出用的切片管理器(只保留被使用过的切片)
        public MClipsManager CloneForExport()
        {
            MClipsManager newInstance = new MClipsManager(form_Main);

            for (int i = 0; i < Count(); i++)
            {
                MClipElement clipElement = (MClipElement)this[i];
                MClipElement newClip     = clipElement.Clone(newInstance);
                newInstance.Add(newClip);
            }
            return(newInstance);
        }
Пример #4
0
        //获取记录值_切片
        private HistoryValue_Clips getHistoryValue_Clips()
        {
            HistoryValue_Clips HV_Clips = new HistoryValue_Clips();
            MClipsManager      manager  = form_MA.form_MImgsList.MClipsManager;

            HV_Clips.clipsManager = manager;
            for (int i = 0; i < manager.Count(); i++)
            {
                MClipElement clip = manager[i];
                HV_Clips.clipsData.Add(clip.getMClipData());
            }
            HV_Clips.imgListIndex = form_MA.form_MImgsList.listBox_Images.SelectedIndex;
            return(HV_Clips);
        }
Пример #5
0
        //返回是用次数
        public virtual int getUsedTime()
        {
            int            number        = 0;
            MActorsManager MAM           = null;
            MClipsManager  clipsManagerM = clipsManager.form_Main.form_MAnimation.form_MImgsList.MClipsManager;

            Console.WriteLine("m:" + clipsManagerM.GetHashCode() + ",c:" + clipsManager.GetHashCode());
            if (clipsManager.Equals(clipsManagerM))
            {
                MAM = clipsManager.form_Main.form_MAnimation.form_MActorList.actorsManager;
            }
            else if (clipsManager.Equals(clipsManager.form_Main.animClipsManagerForExport))
            {
                MAM = clipsManager.form_Main.animActorsManagerExport;
            }
            if (MAM == null)
            {
                return(0);
            }
            for (int i1 = 0; i1 < MAM.Count(); i1++)
            {
                for (int i2 = 0; i2 < MAM[i1].Count(); i2++)
                {
                    for (int i3 = 0; i3 < MAM[i1][i2].Count(); i3++)
                    {
                        for (int i4 = 0; i4 < MAM[i1][i2][i3].Count(); i4++)
                        {
                            for (int i5 = 0; i5 < MAM[i1][i2][i3][i4].Count(); i5++)
                            {
                                for (int i6 = 0; i6 < MAM[i1][i2][i3][i4][i5].Count(); i6++)
                                {
                                    MFrameUnit unit = MAM[i1][i2][i3][i4][i5][i6];
                                    if (unit is MFrameUnit_Bitmap)
                                    {
                                        MFrameUnit_Bitmap unitBitmap = (MFrameUnit_Bitmap)unit;
                                        if (unitBitmap.clipElement != null && unitBitmap.clipElement.Equals(this))
                                        {
                                            number++;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return(number);
        }
Пример #6
0
 //合并切片资源
 public void combine(MClipsManager src_Manager)
 {
     for (int i = 0; i < src_Manager.Count(); i++)
     {
         MClipElement srcElement = src_Manager[i];
         MClipElement newElement = srcElement.Clone(this);
         //检查重复
         for (int j = 0; j < this.Count(); j++)
         {
             MClipElement localClip = this[j];
             if (localClip.equalsClip(newElement))
             {
                 newElement = localClip;
                 break;
             }
         }
         if (!this.Contains(newElement))
         {
             this.Add(newElement);
         }
         //转移引用
         src_Manager.replaceHandler(newElement, srcElement);
     }
 }
Пример #7
0
 public MClipElement(MClipsManager clipManagerT)
 {
     clipsManager = clipManagerT;
 }
Пример #8
0
 public void SetParent(MParentNode parent)
 {
     clipsManager = (MClipsManager)parent;
 }