Esempio n. 1
0
        private void DrawVideo()
        {
            if (_demoSprite == null)
            {
                _demoSprite = SRDebugEditorUtil.LoadResource <Texture2D>("Editor/DemoSprite.png");
            }

            if (_demoSprite == null)
            {
                return;
            }

            var frameWidth       = 400;
            var frameHeight      = 300;
            var framePadding     = 0;
            var extraFramesStart = 5;
            var extraFramesEnd   = 20;
            var totalFrames      = 29;
            var fps = 16f;

            EditorGUILayout.Space();

            EditorGUILayout.BeginHorizontal();

            GUILayout.FlexibleSpace();

            var rect = GUILayoutUtility.GetRect(400 * 0.75f, 300 * 0.75f, GUILayout.ExpandHeight(false),
                                                GUILayout.ExpandWidth(false));

            var frame = ((int)(EditorApplication.timeSinceStartup * fps)) %
                        (totalFrames + extraFramesStart + extraFramesEnd);

            frame -= extraFramesStart;

            var actualFrame = Mathf.Clamp(frame, 0, totalFrames);

            SRDebugEditorUtil.RenderGif(rect, _demoSprite, actualFrame, frameWidth, frameHeight, 5, framePadding,
                                        framePadding);

            GUILayout.FlexibleSpace();

            EditorGUILayout.EndHorizontal();
        }