using System.Collections; using System.Collections.Generic; using UnityEngine; namespace MetaClient { public class RoleCustomData { public Dictionary bodyList; public Dictionary faceList; /// /// 初始缩放 /// public Dictionary orginLocalScaleList; /// /// 缩放总系数 /// public Dictionary orginChangeScaleList; /// /// 实际缩放值 /// public Dictionary ChangedScaleParamsList; public Dictionary orginLocalPositionList; public Dictionary orginLocalRotationList; public Dictionary orginBlendList; public Dictionary changedValueList; public Dictionary changedScaleList; public Dictionary changedPositionList; public Dictionary changedRotationList; public RoleCustomData () { bodyList = new Dictionary(); faceList = new Dictionary(); orginLocalScaleList = new Dictionary(); orginChangeScaleList = new Dictionary(); ChangedScaleParamsList = new Dictionary(); orginLocalPositionList = new Dictionary(); orginLocalRotationList = new Dictionary(); orginBlendList = new Dictionary(); changedValueList = new Dictionary(); changedScaleList = new Dictionary(); changedPositionList = new Dictionary(); changedRotationList = new Dictionary(); } } public class PartData { public int id; public EditableBodyPart part; public ModifyType modifyType; public float floatValue; public Vector3 vecValue; public string pathValue; public string[] bones; //使用变形器 public string biggerBlendName; public string smallerBlendName; public bool useBlend; public bool oneBlend; public string[] extraBones = null; public bool keepChild = true; public bool isMirror; public float minChangeValue; public float maxChangeValue; public Vector3 scaleChange; public Vector3 positionChange; public Vector3 rotationChange; public PartData(int _id,EditableBodyPart _part, ModifyType _modifyType) { id = _id; part = _part; modifyType = _modifyType; floatValue = 1; vecValue = Vector3.zero; pathValue = ""; } public PartData(int _id,string[] _bones,float _min,float _max,Vector3 _scaleChange,Vector3 _posChange,Vector3 _rotChange,bool _useBlend,string _bigBlendName,string _smallBlendName,float _defaultValue = 0,string _extrabone = "",bool _keepChildScale = true,bool _isMirror = false) { id = _id; vecValue = Vector3.zero; pathValue = ""; bones = _bones; scaleChange = _scaleChange; positionChange = _posChange; rotationChange = _rotChange; useBlend = _useBlend; biggerBlendName = _bigBlendName; smallerBlendName = _smallBlendName; isMirror = _isMirror; if (biggerBlendName == "" || biggerBlendName == "no" || smallerBlendName == "" || smallerBlendName == "no") { oneBlend = true; }else { oneBlend = false; } if(_useBlend) { if (oneBlend) { floatValue = 0; } else { floatValue = 0.5f; } minChangeValue = 0; maxChangeValue = 1; } else { floatValue = 1; if (scaleChange.x == 1 || scaleChange.y == 1 || scaleChange.z == 1) { floatValue = 1; } if (positionChange.x == 1 || positionChange.y == 1 || positionChange.z == 1 || rotationChange.x == 1 || rotationChange.y == 1 || rotationChange.z == 1) { floatValue = 0; } minChangeValue = _min; maxChangeValue = _max; if(_extrabone != "") { extraBones = _extrabone.Split(','); } keepChild = _keepChildScale; } } } }