public static Tweener Move(this GameObject go, EquipTransInfo equipTransInfo, Ease ease, bool useRecord = false) { Tweener t; if (useRecord) { TransInfo transInfo = new TransInfo(); t = go.transform.DOLocalMove(equipTransInfo.pos, equipTransInfo.time).SetDelay(equipTransInfo.delay).SetEase(ease); go.transform.DOLocalRotate(equipTransInfo.rot, equipTransInfo.time).SetDelay(equipTransInfo.delay).SetEase(ease); go.transform.DOScale(equipTransInfo.scale, equipTransInfo.time).SetDelay(equipTransInfo.delay).SetEase(ease); DOTween.To(() => go.transform.localScale, x => { transInfo.positon = go.transform.localPosition; transInfo.eulerAngles = go.transform.localEulerAngles; transInfo.localScale = go.transform.localScale; ((TransformMoveDataEntity)go.GetComponent <TransformMoveDataModel>().DataEntity).transInfo = transInfo; }, Vector3.one, equipTransInfo.time).SetDelay(equipTransInfo.delay).SetEase(ease); } else { t = go.transform.DOLocalMove(equipTransInfo.pos, equipTransInfo.time).SetDelay(equipTransInfo.delay).SetEase(ease); go.transform.DOLocalRotate(equipTransInfo.rot, equipTransInfo.time).SetDelay(equipTransInfo.delay).SetEase(ease); go.transform.DOScale(equipTransInfo.scale, equipTransInfo.time).SetDelay(equipTransInfo.delay).SetEase(ease); } return(t); }
//[ContextMenu("查看该索引处位置")] public void ReviewTrans() { int i = 0; foreach (Transform ts in equipsTrans) { equipTransInfo = equipsTransInfos[index].equipsTransInfo[i]; ts.localPosition = equipTransInfo.pos; ts.localEulerAngles = equipTransInfo.rot; ts.localScale = equipTransInfo.scale; delay = equipTransInfo.delay; time = equipTransInfo.time; i++; } }
//[ContextMenu("修改该索引处位置")] public void ModifyTrans() { equipsTransInfo = new EquipsTransInfo(); foreach (Transform ts in equipsTrans) { equipTransInfo = new EquipTransInfo(); equipTransInfo.pos = ts.localPosition; equipTransInfo.rot = ts.localEulerAngles; equipTransInfo.scale = ts.localScale; equipTransInfo.delay = delay; equipTransInfo.time = time; equipsTransInfo.equipsTransInfo.Add(equipTransInfo); } equipsTransInfos[index] = equipsTransInfo; }
//#if UNITY_EDITOR //#region 添加控制方法 //[ContextMenu("记录该位置")] public void RecordTrans() { if (equipsTrans.Count == 0) { equipsTrans.Add(transform); } equipsTransInfo = new EquipsTransInfo(); foreach (Transform ts in equipsTrans) { equipTransInfo = new EquipTransInfo(); equipTransInfo.pos = ts.localPosition; equipTransInfo.rot = ts.localEulerAngles; equipTransInfo.scale = ts.localScale; equipTransInfo.delay = delay; equipTransInfo.time = time; equipsTransInfo.equipsTransInfo.Add(equipTransInfo); } equipsTransInfos.Add(equipsTransInfo); }