Пример #1
0
        public static ExportCSVWindow Init(params Recording[] recordingToExport)
        {
            ExportCSVWindow window = (ExportCSVWindow)GetWindow(typeof(ExportCSVWindow));

            window.recordingsToExport = recordingToExport;
            window.folderName         = recordingToExport.Length == 1 ? recordingToExport[0].name : "Recordings";
            window.Show();
            window.Repaint();
            return(window);
        }
Пример #2
0
        public void RenderSingleRecordingView(Recording recording)
        {
            EditorUtil
            .RenderSingleRecordingInfo(recording);

            if (GUILayout.Button("View Playback"))
            {
                PlaybackWindow
                .Init()
                .SetRecordingForPlayback(recording);
            }

            if (GUILayout.Button("Export As JSON"))
            {
                string path = EditorUtility.SaveFilePanel("Export Recording As JSON", "", recording.RecordingName + ".json", "json");
                System.IO.File.WriteAllText(path, recording.ToJSON());
                EditorUtility.RevealInFinder(path);
            }

            if (GUILayout.Button("Export As CSV"))
            {
                ExportCSVWindow.Init(recording);
            }

            if (GUILayout.Button("Export As RAP"))
            {
                string path = EditorUtility.SaveFilePanel("Export Recording As RAP", "", recording.RecordingName + ".rap", "rap");
                using (FileStream fs = File.Create(path))
                {
                    Packager.Package(fs, recording);
                }
                EditorUtility.RevealInFinder(path);
            }

            if (GUILayout.Button("Export As Unity Animation Clip"))
            {
                ExportAnimationClipWindow.Init(recording);
            }

            if (recording.Metadata != null && recording.Metadata.Count > 0)
            {
                EditorGUILayout.LabelField("Metadata:", new GUIStyle(GUI.skin.label)
                {
                    fontStyle = FontStyle.Bold,
                });
                foreach (var keyvaluePair in recording.Metadata)
                {
                    EditorGUILayout.LabelField(keyvaluePair.Key, keyvaluePair.Value);
                }
            }
        }
Пример #3
0
        public void RenderMultipleRecordingsView(Recording[] recordings)
        {
            EditorUtil
            .RenderMultipleRecordingsInfo(recordings);

            if (GUILayout.Button("Export All As JSON"))
            {
                string path = EditorUtility.SaveFilePanel("Export Recordings As JSON", "", "", "json");

                StringBuilder json = new StringBuilder("[");
                for (var i = 0; i < recordings.Length; i++)
                {
                    json.Append(recordings[i].ToJSON());
                    if (i < recordings.Length - 1)
                    {
                        json.Append(",");
                    }
                }

                json.Append("]");

                System.IO.File.WriteAllText(path, json.ToString());
            }

            if (GUILayout.Button("Export All As CSV"))
            {
                ExportCSVWindow.Init(recordings);
            }

            if (GUILayout.Button("Export As RAP"))
            {
                string path = EditorUtility.SaveFilePanel("Export Recording As RAP", "", "", "rap");
                using (FileStream fs = File.Create(path))
                {
                    Packager.Package(fs, recordings);
                }
                EditorUtility.RevealInFinder(path);
            }
        }