Newer
Older
app-47-android / Assets / Editor / InitilizerBaseEditor.cs
@a_kuznecov a_kuznecov on 22 Jun 2023 3 KB First Commit
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);
        }
    }
}