using UnityEditor;
using UnityEngine;
using UniversalSDK;
namespace Editor
{
[CustomEditor(typeof(BaseInitializer),true)]
[CanEditMultipleObjects]
public class InitilizerBaseEditor : UnityEditor.Editor
{
public override void OnInspectorGUI()
{
/*base.OnInspectorGUI();*/
BaseInitializer initializer = (BaseInitializer)target;
initializer.Config = (Config)EditorGUILayout.ObjectField("Config", initializer.Config, typeof(Config), true);
initializer.InitializationType = (InitializationType)EditorGUILayout.EnumPopup(initializer.InitializationType);
EditorGUILayout.LabelField("Components", EditorStyles.boldLabel);
initializer.ChromeTab = (ChromeTab)EditorGUILayout.ObjectField("ChromeTab", initializer.ChromeTab, typeof(ChromeTab), true);
initializer.AppsFlyer = (AppFlyerObjectScript)EditorGUILayout.ObjectField("AppFlyer", initializer.AppsFlyer, typeof(AppFlyerObjectScript), true);
//initializer.Debuger = (Debager)EditorGUILayout.ObjectField("Debugger", initializer.Debuger, typeof(Debager), true);
EditorGUILayout.Space(10);
switch (initializer.InitializationType)
{
case InitializationType.TikTok:
DrawTickTok(initializer);
break;
case InitializationType.Facebook:
DrawFaceBook(initializer);
break;
}
// initializer.DebugMode = EditorGUILayout.Toggle("DebugMode", initializer.DebugMode);
if (GUI.changed)
{
// записываем изменения над testScriptable в Undo
Undo.RecordObject(initializer, "Test Scriptable Editor Modify");
// помечаем тот самый testScriptable как "грязный" и сохраняем.
EditorUtility.SetDirty(initializer);
}
}
private void DrawTickTok(BaseInitializer initializer)
{
EditorGUILayout.LabelField("RemoteConfig", EditorStyles.boldLabel);
initializer.LinkKey = EditorGUILayout.TextField("LinkKey", initializer.LinkKey);
initializer.OrganikKey = EditorGUILayout.TextField("OrganikKey", initializer.OrganikKey);
EditorGUILayout.Space(10);
EditorGUILayout.LabelField("Bandle", EditorStyles.boldLabel);
initializer.Bandle = EditorGUILayout.TextField("Bandle", initializer.Bandle);
EditorGUILayout.Space(10);
EditorGUILayout.LabelField("Appsflyer", EditorStyles.boldLabel);
initializer.DevKey = EditorGUILayout.TextField("DevKeyApps", initializer.DevKey);
EditorGUILayout.Space(10);
}
private void DrawFaceBook(BaseInitializer initializer)
{
EditorGUILayout.LabelField("RemoteConfig", EditorStyles.boldLabel);
initializer.LinkKey = EditorGUILayout.TextField("LinkKey", initializer.LinkKey);
initializer.OrganikKey = EditorGUILayout.TextField("OrganikKey", initializer.OrganikKey);
EditorGUILayout.Space(10);
EditorGUILayout.LabelField("FaceBook", EditorStyles.boldLabel);
initializer.FaceBookSDK = EditorGUILayout.TextField("FaceBookSDK", initializer.FaceBookSDK);
initializer.FaceBookClient = EditorGUILayout.TextField("FaceBookClient", initializer.FaceBookClient);
EditorGUILayout.Space(10);
EditorGUILayout.LabelField("Bandle", EditorStyles.boldLabel);
initializer.Bandle = EditorGUILayout.TextField("Bandle", initializer.Bandle);
EditorGUILayout.Space(10);
EditorGUILayout.LabelField("Appsflyer", EditorStyles.boldLabel);
initializer.DevKey = EditorGUILayout.TextField("DevKeyApps", initializer.DevKey);
EditorGUILayout.Space(10);
}
}
}