forked from cgvr/DeltaVR
		
	
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
#if UNITY_EDITOR
 | 
						|
 | 
						|
using UnityEngine;
 | 
						|
using UnityEditor;
 | 
						|
using FishNet.Configuring;
 | 
						|
 | 
						|
using UnitySettingsProviderAttribute = UnityEditor.SettingsProviderAttribute;
 | 
						|
using UnitySettingsProvider = UnityEditor.SettingsProvider;
 | 
						|
using System.Collections.Generic;
 | 
						|
 | 
						|
namespace FishNet.Configuring.Editing
 | 
						|
{
 | 
						|
    internal static class SettingsProvider
 | 
						|
    {
 | 
						|
        private static Vector2 _scrollView;
 | 
						|
 | 
						|
        [UnitySettingsProvider]
 | 
						|
        private static UnitySettingsProvider Create()
 | 
						|
        {
 | 
						|
            return new UnitySettingsProvider("Project/Fish-Networking/Configuration", SettingsScope.Project)
 | 
						|
            {
 | 
						|
                label = "Configuration",
 | 
						|
 | 
						|
                guiHandler = OnGUI,
 | 
						|
 | 
						|
                keywords = new string[]
 | 
						|
                {
 | 
						|
                    "Fish",
 | 
						|
                    "Networking",
 | 
						|
                    "Configuration",
 | 
						|
                },
 | 
						|
            };
 | 
						|
        }
 | 
						|
 | 
						|
        private static void OnGUI(string searchContext)
 | 
						|
        {
 | 
						|
            ConfigurationData configuration = Configuration.LoadConfigurationData();
 | 
						|
 | 
						|
            if (configuration == null)
 | 
						|
            {
 | 
						|
                EditorGUILayout.HelpBox("Unable to load configuration data.", MessageType.Error);
 | 
						|
 | 
						|
                return;
 | 
						|
            }
 | 
						|
 | 
						|
            EditorGUI.BeginChangeCheck();
 | 
						|
 | 
						|
            GUIStyle scrollViewStyle = new GUIStyle()
 | 
						|
            {
 | 
						|
                padding = new RectOffset(10, 10, 10, 10),
 | 
						|
            };
 | 
						|
 | 
						|
            _scrollView = GUILayout.BeginScrollView(_scrollView, scrollViewStyle);
 | 
						|
 | 
						|
            EditorGUILayout.BeginHorizontal();
 | 
						|
 | 
						|
            GUIStyle toggleStyle = new GUIStyle(EditorStyles.toggle)
 | 
						|
            {
 | 
						|
                richText = true,
 | 
						|
            };
 | 
						|
 | 
						|
            configuration.CodeStripping.StripReleaseBuilds = GUILayout.Toggle(configuration.CodeStripping.StripReleaseBuilds, $"{ObjectNames.NicifyVariableName(nameof(configuration.CodeStripping.StripReleaseBuilds))} <color=yellow>(Pro Only)</color>", toggleStyle);
 | 
						|
 | 
						|
            EditorGUILayout.EndHorizontal();
 | 
						|
 | 
						|
            if (configuration.CodeStripping.StripReleaseBuilds)
 | 
						|
            {
 | 
						|
                EditorGUI.indentLevel++;
 | 
						|
                //Stripping Method.
 | 
						|
                List<string> enumStrings = new List<string>();
 | 
						|
                foreach (string item in System.Enum.GetNames(typeof(StrippingTypes)))
 | 
						|
                    enumStrings.Add(item);
 | 
						|
                configuration.CodeStripping.StrippingType = EditorGUILayout.Popup($"{ObjectNames.NicifyVariableName(nameof(configuration.CodeStripping.StrippingType))}", (int)configuration.CodeStripping.StrippingType, enumStrings.ToArray());
 | 
						|
 | 
						|
                EditorGUILayout.HelpBox("Development builds will not have code stripped. Additionally, if you plan to run as host disable code stripping.", MessageType.Warning);
 | 
						|
                EditorGUI.indentLevel--;
 | 
						|
            }
 | 
						|
 | 
						|
            GUILayout.EndScrollView();
 | 
						|
 | 
						|
            if (EditorGUI.EndChangeCheck()) Configuration.Configurations.Write(true);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
#endif
 |