public void CopyFrom(InstantReplayConfig newConfig)
 {
     if (newConfig != null)
     {
         AutoStart    = newConfig.AutoStart;
         Monitor      = newConfig.Monitor;
         ReplayLength = newConfig.ReplayLength;
         Fps          = newConfig.Fps;
         Quality      = newConfig.Quality;
     }
 }
Example #2
0
        public InstantReplayConfig GetConfig()
        {
            if (config_ == null)
            {
                config_ = InstantReplayConfig.Load();
            }

            var config = InstantReplayConfig.Create();

            config.CopyFrom(config_);
            return(config);
        }
Example #3
0
        void OnGUI()
        {
            if (config_ == null)
            {
                config_ = InstantReplayConfig.Create();
            }

            // reset button
            if (GUILayout.Button("Reset"))
            {
                config_  = InstantReplayConfig.Create();
                modified = true;
            }

            // draw GUI
            GUILayout.Label("Recording Settings", EditorStyles.boldLabel);
            bool  autoStart    = EditorGUILayout.Toggle("Start on load", config_.AutoStart);
            int   monitor      = EditorGUILayout.Popup("Monitor", config_.Monitor, monitorLabels());
            float replayLength = EditorGUILayout.IntSlider("ReplayLength (seconds)", (int)config_.ReplayLength, 5, 300);
            float fps          = EditorGUILayout.IntSlider("FPS", (int)config_.Fps, 1, 60);
            var   quality      = idx2qty(EditorGUILayout.Popup("Quality", qty2idx(config_.Quality), qtxTexts()));

            if (
                autoStart != config_.AutoStart ||
                monitor != config_.Monitor ||
                fps != config_.Fps ||
                replayLength != config_.ReplayLength ||
                quality != config_.Quality)
            {
                // apply button
                config_.AutoStart    = autoStart;
                config_.Monitor      = monitor;
                config_.Fps          = fps;
                config_.Quality      = quality;
                config_.ReplayLength = replayLength;
                modified             = true;
            }

            // apply button
            GUI.enabled = modified;
            if (GUILayout.Button("Apply"))
            {
                InstantReplay.Instance.ApplyConfig(config_);
                modified = false;
            }
            GUI.enabled = true;
        }
Example #4
0
        public void ApplyConfig(InstantReplayConfig newConfig)
        {
            if (config_ == null)
            {
                config_ = InstantReplayConfig.Create();
            }

            if (newConfig != null)
            {
                config_.CopyFrom(newConfig);
                config_.Save();

                // if (IsRecording())
                {
                    // restart
                    Stop();
                    Start();
                }
            }
        }
Example #5
0
 void OnEnable()
 {
     modified = false;
     config_  = InstantReplay.Instance.GetConfig();
 }
Example #6
0
 static void Open()
 {
     modified = false;
     config_  = InstantReplay.Instance.GetConfig();
     GetWindow <WatchMeAlwaysSettingsWindow>();
 }