public override void OnInspectorGUI()
        {
            CastRemoteDisplaySimulator simulator = (CastRemoteDisplaySimulator)target;

            serializedObject.Update();
            EditorGUILayout.PropertyField(serializedObject.FindProperty("simulateRemoteDisplay"), true);
            EditorGUILayout.PropertyField(serializedObject.FindProperty("remoteDisplayRect"), true);
            EditorGUILayout.PropertyField(serializedObject.FindProperty("castDevices"), true);
            serializedObject.ApplyModifiedProperties();

            if (Application.isPlaying)
            {
                // Update the list of devices.
                if (GUILayout.Button("Update devices"))
                {
                    simulator.UpdateDevices();
                }
                EditorGUILayout.Space();

                // Throwing errors.
                errorCode = (CastErrorCode)EditorGUILayout.EnumPopup("Throw Error", errorCode);
                if (errorCode != CastErrorCode.NoError)
                {
                    if (GUILayout.Button("Throw"))
                    {
                        simulator.ThrowError(errorCode);
                    }
                }
            }
        }