Ejemplo n.º 1
0
    private void Update()
    {
        foreach (var pTweenTestPlay in g_listTweenTestPlay)
        {
            pTweenTestPlay.DoSetTweening(Time.deltaTime);
            float fProgress_0_1 = pTweenTestPlay.p_pAnimationCurve.Evaluate(pTweenTestPlay.p_fProgress_0_1);

            CTweenPosition pTweenPos = pTweenTestPlay as CTweenPosition;
            if (pTweenPos)
            {
                // Editor에서 직접 해야 동작한다..
                Vector3 vecPos = (Vector3)pTweenTestPlay.OnTween_EditorOnly(fProgress_0_1);
                if (pTweenPos.p_bIsLocal)
                {
                    pTweenPos.transform.localPosition = vecPos;
                }
                else
                {
                    pTweenPos.transform.position = vecPos;
                }
            }

            //CTweenRotation pTweenRot = pTweenTestPlay as CTweenRotation;
            //if (pTweenRot)
            //{
            //    //Vector3 vecPos = (Vector3)pTweenTestPlay.OnTween_EditorOnly(pTweenTestPlay.p_fProgress_0_1);
            //    //if (pTweenPos.p_bIsLocal)
            //    //    pTweenPos.transform.localPosition = vecPos;
            //    //else
            //    //    pTweenPos.transform.position = vecPos;
            //}

            EditorUtility.SetDirty(pTweenTestPlay);
        }
    }
    static public void DoStartTween_Position(this Transform pTransStart, Transform pTransDestPos, float fDuration, UnityEngine.Events.UnityAction OnFinishTween)
    {
        CTweenPosition pTweenPos = pTransStart.GetComponent <CTweenPosition>();

        if (pTweenPos == null)
        {
            pTweenPos = pTransStart.gameObject.AddComponent <CTweenPosition>();
        }

        pTweenPos.p_vecPosStart = pTransStart.position;
        pTweenPos.p_vecPosDest  = pTransDestPos.position;
        pTweenPos.p_fDuration   = fDuration;

        pTweenPos.p_Event_OnFinishTween.AddListener(OnFinishTween);
        pTweenPos.DoStartTween_Forward();
    }
    private void Update()
    {
        foreach (var pTweenTestPlay in g_listTweenTestPlay)
        {
            pTweenTestPlay.DoSetTweening();

            if (pTweenTestPlay as CTweenPosition)
            {
                CTweenPosition pTweenPos = pTweenTestPlay as CTweenPosition;
                Vector3        vecPos    = (Vector3)pTweenTestPlay.OnTween_EditorOnly(pTweenTestPlay.p_fProgress_0_1);
                if (pTweenPos.p_bIsLocal)
                {
                    pTweenPos.transform.localPosition = vecPos;
                }
                else
                {
                    pTweenPos.transform.position = vecPos;
                }
            }

            EditorUtility.SetDirty(pTweenTestPlay);
        }
    }