Пример #1
0
        private WriteBoneDataParameter GetWriteBoneDataParameter()
        {
            WriteBoneDataParameter param = new WriteBoneDataParameter(this.SaveCharactorFileName);

            if (radioButton1.Checked)
            {
                param.BoneSaveSettting = ESaveBoneSetting.OnlyChanged;
            }
            else
            {
                param.BoneSaveSettting = ESaveBoneSetting.All;
            }

            List <string> lines = new List <string>();

            foreach (Bone item in this.listBox1.Items)
            {
                if (param.BoneSaveSettting == ESaveBoneSetting.OnlyChanged)
                {
                    if (item.IsScalingModified())
                    {
                        lines.Add(item.GetLineValue(EAction.Scaling));
                    }
                    if (item.IsRotationModified())
                    {
                        lines.Add(item.GetLineValue(EAction.Rotation));
                    }
                    if (item.IsPositioningModified())
                    {
                        lines.Add(item.GetLineValue(EAction.Positioning));
                    }
                }
                else
                {
                    lines.Add(item.GetLineValue(EAction.Scaling));
                }
            }
            param.lines = new List <string>();
            param.lines = param.lines.Concat(lines).ToList();
            return(param);
        }
 public WriteBoneDataThread(CancellationTokenSource _tokenSource, ICloneable _threadParameter) : base(_tokenSource, _threadParameter)
 {
     param = (WriteBoneDataParameter)_threadParameter;
 }