Ejemplo n.º 1
0
    /// <summary>
    /// 设置关键帧属性值
    /// </summary>
    public static void SetFrameValue(this LAFrame frame, int index, object value)
    {
        LAValueIndex lvi = frame.ValueIndex[index];
        int          i   = lvi.Index;

        switch (lvi.Type)
        {
        case "Bool":
            frame.ValueBool[i] = (bool)value;
            break;

        case "Color":
            frame.ValueColor[i] = (Color)value;
            break;

        case "Float":
            frame.ValueFloat[i] = (float)value;
            break;

        case "Int":
            frame.ValueInt[i] = (int)value;
            break;

        case "Quaternion":
            frame.ValueQuaternion[i] = (Quaternion)value;
            break;

        case "String":
            frame.ValueString[i] = (string)value;
            break;

        case "Vector2":
            frame.ValueVector2[i] = (Vector2)value;
            break;

        case "Vector3":
            frame.ValueVector3[i] = (Vector3)value;
            break;

        case "Vector4":
            frame.ValueVector4[i] = (Vector4)value;
            break;

        case "Sprite":
            frame.ValueSprite[i] = (Sprite)value;
            break;

        default:
            break;
        }
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 获取关键帧属性值
    /// </summary>
    public static object GetFrameValue(this LAFrame frame, int index)
    {
        LAValueIndex lvi = frame.ValueIndex[index];
        int          i   = lvi.Index;

        switch (lvi.Type)
        {
        case "Bool":
            return(frame.ValueBool[i]);

        case "Color":
            return(frame.ValueColor[i]);

        case "Float":
            return(frame.ValueFloat[i]);

        case "Int":
            return(frame.ValueInt[i]);

        case "Quaternion":
            return(frame.ValueQuaternion[i]);

        case "String":
            return(frame.ValueString[i]);

        case "Vector2":
            return(frame.ValueVector2[i]);

        case "Vector3":
            return(frame.ValueVector3[i]);

        case "Vector4":
            return(frame.ValueVector4[i]);

        case "Sprite":
            return(frame.ValueSprite[i]);

        default:
            return(null);
        }
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 移除关键帧属性值
    /// </summary>
    public static void RemoveFrameValue(this LAFrame frame, int index)
    {
        LAValueIndex lvi = frame.ValueIndex[index];

        frame.ValueIndex.RemoveAt(index);

        int i = lvi.Index;

        switch (lvi.Type)
        {
        case "Bool":
            frame.ValueBool.RemoveAt(i);
            break;

        case "Color":
            frame.ValueColor.RemoveAt(i);
            break;

        case "Float":
            frame.ValueFloat.RemoveAt(i);
            break;

        case "Int":
            frame.ValueInt.RemoveAt(i);
            break;

        case "Quaternion":
            frame.ValueQuaternion.RemoveAt(i);
            break;

        case "String":
            frame.ValueString.RemoveAt(i);
            break;

        case "Vector2":
            frame.ValueVector2.RemoveAt(i);
            break;

        case "Vector3":
            frame.ValueVector3.RemoveAt(i);
            break;

        case "Vector4":
            frame.ValueVector4.RemoveAt(i);
            break;

        case "Sprite":
            frame.ValueSprite.RemoveAt(i);
            break;

        default:
            break;
        }

        for (int j = 0; j < frame.ValueIndex.Count; j++)
        {
            if (frame.ValueIndex[j].Type == lvi.Type && frame.ValueIndex[j].Index > i)
            {
                LAValueIndex lav = new LAValueIndex();
                lav.Type            = lvi.Type;
                lav.Index           = frame.ValueIndex[j].Index - 1;
                frame.ValueIndex[j] = lav;
            }
        }
    }
Ejemplo n.º 4
0
    /// <summary>
    /// 新增关键帧属性值
    /// </summary>
    public static void AddFrameValue(this LAFrame frame, string type, object value)
    {
        int i = 0;

        switch (type)
        {
        case "Bool":
            frame.ValueBool.Add((bool)value);
            i = frame.ValueBool.Count - 1;
            break;

        case "Color":
            frame.ValueColor.Add((Color)value);
            i = frame.ValueColor.Count - 1;
            break;

        case "Float":
            frame.ValueFloat.Add((float)value);
            i = frame.ValueFloat.Count - 1;
            break;

        case "Int":
            frame.ValueInt.Add((int)value);
            i = frame.ValueInt.Count - 1;
            break;

        case "Quaternion":
            frame.ValueQuaternion.Add((Quaternion)value);
            i = frame.ValueQuaternion.Count - 1;
            break;

        case "String":
            frame.ValueString.Add((string)value);
            i = frame.ValueString.Count - 1;
            break;

        case "Vector2":
            frame.ValueVector2.Add((Vector2)value);
            i = frame.ValueVector2.Count - 1;
            break;

        case "Vector3":
            frame.ValueVector3.Add((Vector3)value);
            i = frame.ValueVector3.Count - 1;
            break;

        case "Vector4":
            frame.ValueVector4.Add((Vector4)value);
            i = frame.ValueVector4.Count - 1;
            break;

        case "Sprite":
            frame.ValueSprite.Add((Sprite)value);
            i = frame.ValueSprite.Count - 1;
            break;

        default:
            return;
        }

        LAValueIndex lvi = new LAValueIndex();

        lvi.Type  = type;
        lvi.Index = i;
        frame.ValueIndex.Add(lvi);
    }