com.guru.unity.adjust/Adjust/Editor/AdjustCustomEditor.cs

85 lines
4.6 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor.SceneManagement;
using UnityEditor;
namespace com.adjust.sdk
{
[CustomEditor(typeof(Adjust))]
public class AdjustCustomEditor : Editor
{
private Editor settingsEditor;
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
var adjust = target as Adjust;
GUIStyle darkerCyanTextFieldStyles = new GUIStyle(EditorStyles.boldLabel);
darkerCyanTextFieldStyles.normal.textColor = new Color(0f/255f, 190f/255f, 190f/255f);
// Not gonna ask: http://answers.unity.com/answers/1244650/view.html
EditorGUILayout.Space();
var origFontStyle = EditorStyles.label.fontStyle;
EditorStyles.label.fontStyle = FontStyle.Bold;
adjust.startManually = EditorGUILayout.Toggle("START SDK MANUALLY", adjust.startManually, EditorStyles.toggle);
EditorStyles.label.fontStyle = origFontStyle;
using (new EditorGUI.DisabledScope(adjust.startManually))
{
EditorGUILayout.Space();
EditorGUILayout.LabelField("MULTIPLATFORM SETTINGS:", darkerCyanTextFieldStyles);
EditorGUI.indentLevel += 1;
adjust.appToken = EditorGUILayout.TextField("App Token", adjust.appToken);
adjust.environment = (AdjustEnvironment)EditorGUILayout.EnumPopup("Environment", adjust.environment);
adjust.logLevel = (AdjustLogLevel)EditorGUILayout.EnumPopup("Log Level", adjust.logLevel);
adjust.urlStrategy = (AdjustUrlStrategy)EditorGUILayout.EnumPopup("URL Strategy", adjust.urlStrategy);
adjust.eventBuffering = EditorGUILayout.Toggle("Event Buffering", adjust.eventBuffering);
adjust.sendInBackground = EditorGUILayout.Toggle("Send In Background", adjust.sendInBackground);
adjust.launchDeferredDeeplink = EditorGUILayout.Toggle("Launch Deferred Deep Link", adjust.launchDeferredDeeplink);
adjust.needsCost = EditorGUILayout.Toggle("Cost Data In Attribution Callback", adjust.needsCost);
adjust.coppaCompliant = EditorGUILayout.Toggle("COPPA Compliant", adjust.coppaCompliant);
adjust.linkMe = EditorGUILayout.Toggle("LinkMe", adjust.linkMe);
adjust.defaultTracker = EditorGUILayout.TextField("Default Tracker", adjust.defaultTracker);
adjust.startDelay = EditorGUILayout.DoubleField("Start Delay", adjust.startDelay);
EditorGUILayout.LabelField("App Secret:", EditorStyles.label);
EditorGUI.indentLevel += 1;
adjust.secretId = EditorGUILayout.LongField("Secret ID", adjust.secretId);
adjust.info1 = EditorGUILayout.LongField("Info 1", adjust.info1);
adjust.info2 = EditorGUILayout.LongField("Info 2", adjust.info2);
adjust.info3 = EditorGUILayout.LongField("Info 3", adjust.info3);
adjust.info4 = EditorGUILayout.LongField("Info 4", adjust.info4);
EditorGUI.indentLevel -= 2;
EditorGUILayout.Space();
EditorGUILayout.LabelField("ANDROID SETTINGS:", darkerCyanTextFieldStyles);
EditorGUI.indentLevel += 1;
adjust.preinstallTracking = EditorGUILayout.Toggle("Preinstall Tracking", adjust.preinstallTracking);
adjust.preinstallFilePath = EditorGUILayout.TextField("Preinstall File Path", adjust.preinstallFilePath);
adjust.playStoreKidsApp = EditorGUILayout.Toggle("Play Store Kids App", adjust.playStoreKidsApp);
EditorGUI.indentLevel -= 1;
EditorGUILayout.Space();
EditorGUILayout.LabelField("IOS SETTINGS:", darkerCyanTextFieldStyles);
EditorGUI.indentLevel += 1;
adjust.adServicesInfoReading = EditorGUILayout.Toggle("AdServices Info Reading", adjust.adServicesInfoReading);
adjust.idfaInfoReading = EditorGUILayout.Toggle("IDFA Info Reading", adjust.idfaInfoReading);
adjust.skAdNetworkHandling = EditorGUILayout.Toggle("SKAdNetwork Handling", adjust.skAdNetworkHandling);
EditorGUI.indentLevel -= 1;
}
if (settingsEditor == null)
{
settingsEditor = CreateEditor(AdjustSettings.Instance);
}
settingsEditor.OnInspectorGUI();
if (GUI.changed)
{
EditorUtility.SetDirty(adjust);
EditorSceneManager.MarkSceneDirty(adjust.gameObject.scene);
}
}
}
}