Пример #1
0
    protected void SetAnimStateElementEditor(UViewAnimState _state, UViewAnimElement _element)
    {
        GUILayout.BeginVertical();
        {
            _element.TweenAttachType = (UViewAnimElement.ETweenAttachType)EditorGUILayout.EnumPopup("元素插入方式", _element.TweenAttachType);
            if (_element.TweenAttachType == UViewAnimElement.ETweenAttachType.ETA_Insert)
            {
                _element.TweenAttachType_Insert_Pos = EditorGUILayout.FloatField("插入时间点", _element.TweenAttachType_Insert_Pos);
            }

            _element.TweenType     = (UViewAnimElement.ETweenType)EditorGUILayout.EnumPopup("元素动画类型", _element.TweenType);
            _element.EaseValue     = (DG.Tweening.Ease)EditorGUILayout.EnumPopup("缓动方式", _element.EaseValue);
            _element.DurationValue = EditorGUILayout.FloatField("持续时间", _element.DurationValue);
            _element.DelayValue    = EditorGUILayout.FloatField("延迟时间", _element.DelayValue);

            SetAnimStateElementTweenEditor(_state, _element);
        }
        GUILayout.EndVertical();
    }
Пример #2
0
    protected void SetAnimStateElementTweenEditor(UViewAnimState _state, UViewAnimElement _element)
    {
        GUILayout.BeginVertical();

        GUILayout.BeginHorizontal();
        {
            _element.IsCustomTarget = EditorGUILayout.Toggle("指定对象?", _element.IsCustomTarget);
            if (_element.IsCustomTarget)
            {
                _element.CustomTarget = (RectTransform)EditorGUILayout.ObjectField(_element.CustomTarget, typeof(RectTransform), true);
            }
        }
        GUILayout.EndHorizontal();

        switch (_element.TweenType)
        {
        case UViewAnimElement.ETweenType.ETT_Fade:
        {
            _element.FloatTypeValue.BeginValue = EditorGUILayout.FloatField("起始值", _element.FloatTypeValue.BeginValue);
            _element.FloatTypeValue.EndValue   = EditorGUILayout.FloatField("结束值", _element.FloatTypeValue.EndValue);
        }
        break;

        case UViewAnimElement.ETweenType.ETT_AnchorPosition:
        {
            _element.Vector2TypeValue.BeginValue = EditorGUILayout.Vector2Field("起始值", _element.Vector2TypeValue.BeginValue);
            _element.Vector2TypeValue.EndValue   = EditorGUILayout.Vector2Field("结束值", _element.Vector2TypeValue.EndValue);
        }
        break;

        case UViewAnimElement.ETweenType.ETT_LocalRotate:
        {
            _element.Vector3TypeValue.BeginValue = EditorGUILayout.Vector3Field("起始值", _element.Vector3TypeValue.BeginValue);
            _element.Vector3TypeValue.EndValue   = EditorGUILayout.Vector3Field("结束值", _element.Vector3TypeValue.EndValue);
        }
        break;

        case UViewAnimElement.ETweenType.ETT_LocalScale:
        {
            _element.Vector3TypeValue.BeginValue = EditorGUILayout.Vector3Field("起始值", _element.Vector3TypeValue.BeginValue);
            _element.Vector3TypeValue.EndValue   = EditorGUILayout.Vector3Field("结束值", _element.Vector3TypeValue.EndValue);
        }
        break;

        case UViewAnimElement.ETweenType.ETT_PunchPosition:
        {
            _element.Vector2TypeValue.BeginValue = EditorGUILayout.Vector2Field("起始值", _element.Vector2TypeValue.BeginValue);
            _element.Vector2TypeValue.EndValue   = EditorGUILayout.Vector2Field("结束值", _element.Vector2TypeValue.EndValue);


            _element.VibratoValue            = EditorGUILayout.IntField("冲撞频率", _element.VibratoValue);
            _element.PunchPositionElasticity = EditorGUILayout.FloatField("伸缩系数", _element.PunchPositionElasticity);
        }
        break;

        case UViewAnimElement.ETweenType.ETT_ShakePosition:
        {
            _element.Vector3TypeValue.BeginValue = EditorGUILayout.Vector3Field("起始值", _element.Vector3TypeValue.BeginValue);
            _element.Vector3TypeValue.EndValue   = EditorGUILayout.Vector3Field("结束值", _element.Vector3TypeValue.EndValue);
            _element.ShakeStrength   = EditorGUILayout.FloatField("震动强度", _element.ShakeStrength);
            _element.VibratoValue    = EditorGUILayout.IntField("震动频率", _element.VibratoValue);
            _element.ShakeRandomness = EditorGUILayout.FloatField("震动方向随机值", _element.ShakeRandomness);
        }
        break;

        case UViewAnimElement.ETweenType.ETT_LocalPosition:
        {
            _element.Vector3TypeValue.BeginValue = EditorGUILayout.Vector3Field("起始值", _element.Vector3TypeValue.BeginValue);
            _element.Vector3TypeValue.EndValue   = EditorGUILayout.Vector3Field("结束值", _element.Vector3TypeValue.EndValue);
        }
        break;

        case UViewAnimElement.ETweenType.ETT_Custom:
        {
            _element.CustomCollection = (UViewCustomAnimCollection )EditorGUILayout.ObjectField("收集器", _element.CustomCollection, typeof(UViewCustomAnimCollection), true);
            _element.CustomID         = EditorGUILayout.IntField("ID", _element.CustomID);
        }
        break;

        default:
            Debug.LogWarning("这里会报错?那就出现重大大问题了。");
            break;
        }

        GUILayout.EndVertical();
    }