123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using UnityEditor;
- namespace SingularityGroup.HotReload.Editor {
- internal class AllowAndroidAppToMakeHttpRequestsOption : ProjectOptionBase {
- public override string ShortSummary {
- get {
- return "Allow app to make HTTP requests";
- }
- }
- public override string Summary => ShortSummary;
- public override bool GetValue(SerializedObject so) {
- #if UNITY_2022_1_OR_NEWER
- // use PlayerSettings as the source of truth
- return PlayerSettings.insecureHttpOption != InsecureHttpOption.NotAllowed;
- #else
- return GetProperty(so).boolValue;
- #endif
- }
- public override string ObjectPropertyName =>
- nameof(HotReloadSettingsObject.AllowAndroidAppToMakeHttpRequests);
- public override void SetValue(SerializedObject so, bool value) {
- base.SetValue(so, value);
- // Enabling on Unity 2022 or newer → set the Unity option to ‘Development Builds only’
- #if UNITY_2022_1_OR_NEWER
- var notAllowed = PlayerSettings.insecureHttpOption == InsecureHttpOption.NotAllowed;
- if (value) {
- // user chose to enable it
- if (notAllowed) {
- PlayerSettings.insecureHttpOption = InsecureHttpOption.DevelopmentOnly;
- }
- } else {
- // user chose to disable it
- PlayerSettings.insecureHttpOption = InsecureHttpOption.NotAllowed;
- }
- #endif
- }
- public override void InnerOnGUI(SerializedObject so) {
- var description = "For Hot Reload to work on-device, please allow HTTP requests";
- EditorGUILayout.LabelField(description, HotReloadWindowStyles.WrapStyle);
- }
- }
- }
|