예제 #1
0
    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);
    }
예제 #2
0
    //[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++;
        }
    }
예제 #3
0
    //[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;
    }
예제 #4
0
    //#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);
    }