protected override void DrawGUI()
        {
            base.DrawGUI();

            DrawPropertyField("_useExpirationDate", "Use Expiration Date");
            if (_target._useExpirationDate)
            {
                if (_days == null)
                {
                    InitDays();
                }
                if (_years == null)
                {
                    InitYears();
                }

                EditorGUILayout.BeginHorizontal();
                EditorGUI.BeginChangeCheck();
                _selectedDayID   = EditorGUILayout.Popup(_selectedDayID, _days);
                _selectedMonthID = EditorGUILayout.Popup(_selectedMonthID, _months);
                _selectedYearID  = EditorGUILayout.Popup(_selectedYearID, _years);

                if (EditorGUI.EndChangeCheck())
                {
                    _target.SetExpirationDate(_selectedDayID + 1, _selectedMonthID + 1, int.Parse(_years[_selectedYearID]));
                    QuickUtilsEditor.MarkSceneDirty();
                }

                EditorGUILayout.EndHorizontal();
            }
        }
 protected override void DrawGUI()
 {
     EditorGUI.BeginChangeCheck();
     DrawVirtualInput(ref _showVirtualAxes, true);
     DrawVirtualInput(ref _showVirtualButtons, false);
     if (EditorGUI.EndChangeCheck())
     {
         QuickUtilsEditor.MarkSceneDirty();
     }
 }
        protected override void DrawGUI()
        {
            base.DrawGUI();

            _inputManager     = QuickSingletonManager.GetInstance <InputManager>();
            _baseInputManager = target as BaseInputManager;

            _axisCodes   = _baseInputManager.GetAxisCodes();
            _buttonCodes = _baseInputManager.GetButtonCodes();

            EditorGUI.BeginChangeCheck();
            DrawAxesMapping();
            EditorGUILayout.Separator();
            DrawButtonsMapping();
            if (EditorGUI.EndChangeCheck())
            {
                QuickUtilsEditor.MarkSceneDirty();
            }
        }
        protected override void DrawGUI()
        {
            base.DrawGUI();

            EditorGUI.BeginChangeCheck();

            DrawIKControls();

            if (EditorGUI.EndChangeCheck())
            {
                //serializedObject.ApplyModifiedProperties();
                if (_ikManager.gameObject.activeInHierarchy)
                {
                    _ikManager.UpdateTracking();
                }
                QuickUtilsEditor.MarkSceneDirty();
            }

            //UpdateDebug();
        }
        private static void GetWindowPlayerPrefs()
        {
            EditorWindow.GetWindow <QuickPlayerPrefsWindowEditor>();

            string             path     = "Assets/QuickVRCfg/Resources/QuickSettingsCustom.asset";
            QuickSettingsAsset settings = AssetDatabase.LoadAssetAtPath <QuickSettingsAsset>(path);

            if (!settings)
            {
                settings = ScriptableObject.CreateInstance <QuickSettingsAsset>();
                QuickUtilsEditor.CreateDataFolder("QuickVRCfg/Resources");
                AssetDatabase.CreateAsset(settings, path);
                AssetDatabase.SaveAssets();
            }

            QuickPlayerPrefs.Init();

            //Check if the base settings are defined
            SettingsBase.SetSubjectID(SettingsBase.GetSubjectID());
            SettingsBase.SetGender(SettingsBase.GetGender());
            SettingsBase.SetLanguage(SettingsBase.GetLanguage());
        }