Example #1
0
    protected void CheckToggleOnlyOneSelected(int idx)
    {
        KeyFrameBase keyFrame = keyFrameBaseList.ElementAt <KeyFrameBase>(idx);

        if (keyFrame.isSelected)
        {
            if (currSelectedKeyFrameIdx != idx)
            {
                SetCurrTime(keyFrame.time);
                Refresh();
                //SceneView.RepaintAll();

                for (int i = 0; i < keyFrameBaseList.Count <KeyFrameBase>(); i++)
                {
                    if (i != idx)
                    {
                        keyFrameBaseList.ElementAt <KeyFrameBase>(i).isSelected = false;
                    }
                }
                currSelectedKeyFrameIdx = idx;
            }
        }
        else
        {
            if (currSelectedKeyFrameIdx == idx)
            {
                currSelectedKeyFrameIdx = -1;
            }
        }
    }
Example #2
0
    bool IsOnSelectedKeyFrame()
    {
        if (currSelectedKeyFrameIdx == -1)
        {
            return(false);
        }

        KeyFrameBase keyFrame = keyFrameBaseList.ElementAt <KeyFrameBase>(currSelectedKeyFrameIdx);

        if (keyFrame.isSelected &&
            keyFrame.time == GetCurrTime())
        {
            return(true);
        }

        return(false);
    }
Example #3
0
    protected virtual void KeyFrameSort()
    {
        //keyFrameBaseList = keyFrameBaseList.OrderBy(x => x.time);

        for (int i = 0; i < keyFrameBaseList.Count <KeyFrameBase>(); i++)
        {
            KeyFrameBase keyFrame = keyFrameBaseList.ElementAt <KeyFrameBase>(i);

            if (keyFrame.isSelected)
            {
                currSelectedKeyFrameIdx = i;
                SetCurrTime(keyFrame.time);
                GUI.FocusControl(keyFramefocusName + i.ToString());
                break;
            }
        }
    }
Example #4
0
    void CheckKeyFrameTimeUnique(int idx)
    {
        KeyFrameBase keyFrame = keyFrameBaseList.ElementAt <KeyFrameBase> (idx);

        for (int j = 0; j < keyFrameBaseList.Count <KeyFrameBase> (); j++)
        {
            if (idx == j)
            {
                continue;
            }
            KeyFrameBase compareKeyFrame = keyFrameBaseList.ElementAt <KeyFrameBase> (j);
            if (keyFrame.time == compareKeyFrame.time)
            {
                keyFrame.time += 0.0333f;
                j              = -1;
            }
        }
    }
Example #5
0
    protected virtual void UpdateInEditorMode()
    {
        GoGoComponent gogoComponent = (GoGoComponent)target;
        GoGoPlayer    gogoPlayer    = gogoComponent.gogoPlayer;

        if (EditorApplication.isPlaying || gogoPlayer == null ||
            gogoComponent == null || !gogoComponent.enabled)
        {
            return;
        }

        //! 同一個gameobject只能有一個GoGoComponent Enable.
        //! 不然SceneView視窗拖拉物件會卡住.
        ModifyComponentEnable();

        if (IsOnSelectedKeyFrame())
        {
            //! 當KeyFrame數值有變時,重新設定數值.
            KeyFrameBase keyFrame = keyFrameBaseList.ElementAt <KeyFrameBase>(currSelectedKeyFrameIdx);
            if (keyFrame.isChange)
            {
                Refresh();
                keyFrame.isChange = false;
            }
            else if (GetCurrTime() != lastTime)
            {
                Refresh();
            }
            else
            {
                AsignDataToKeyFrame();
            }
        }
        else
        {
            Refresh();
        }

        lastTime = GetCurrTime();
    }