示例#1
0
        private void OnInspectorUpdate()
        {
            if (!_scriptingDefinesScriptableObject)
            {
                return;
            }

            if (_defineToAdd != null)
            {
                _scriptingDefinesScriptableObject.Add(_defineToAdd);
                _defineToAdd = null;
            }

            if (_indexToDelete.HasValue)
            {
                _scriptingDefinesScriptableObject.RemoveAt(_indexToDelete.Value);
                _indexToDelete = null;
            }

            if (!_applyScriptingDefines)
            {
                return;
            }
            _applyScriptingDefines = false;
            string[] scriptingDefines = _scriptingDefinesScriptableObject.availableScriptingDefines.FilterMap((ScriptDefineInfo value, out string result) =>
            {
                result = value.enabled ? value.name : null;
                return(value.enabled);
            });
            PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, scriptingDefines);
            AssetDatabase.RefreshSettings();
        }