[System.Serializable]
public class FrameContent
{
    public int FrameNum;
    public KeyframeData ObjectData;
#if UNITY_EDITOR
    //public KeyframeDataCharacter AsCharacter;
    //public KeyframeDataCamera AsCamera;
    //public KeyframeDataScene AsScene;
#endif

    public FrameContent() { }

    public FrameContent(int frameNum)
    {
        FrameNum = frameNum;
    }

    public FrameContent(FrameContent frame)
    {
        FrameNum = frame.FrameNum;
        ObjectData = frame.ObjectData.Clone();
    }

    public FrameContent SetObjectData(KeyframeData data)
    {
        ObjectData = data;
#if UNITY_EDITOR
        //AsCharacter = ObjectData as KeyframeDataCharacter;
        //AsCamera = ObjectData as KeyframeDataCamera;
        //AsScene = ObjectData as KeyframeDataScene;
#endif
        return this;
    }
}