using System.IO;
using IndieExchange;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;

public static class CreateIndieAdsSampleScene
{
    [MenuItem("Tools/Indie Exchange/Create sample scene")]
    public static void Create()
    {
        if (!EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo()) return;
        var scene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Single);
        var folder = "Assets/IndieExchangeDemo";
        Directory.CreateDirectory(folder);
        var path = folder + "/DemoSettings.asset";
        var settings = AssetDatabase.LoadAssetAtPath<IndieAdsSettings>(path);
        if (settings == null)
        {
            settings = ScriptableObject.CreateInstance<IndieAdsSettings>();
            settings.testMode = true;
            AssetDatabase.CreateAsset(settings, path);
        }
        var camera = new GameObject("Camera").AddComponent<Camera>();
        camera.clearFlags = CameraClearFlags.SolidColor;
        camera.backgroundColor = new Color(.035f,.05f,.075f);
        new GameObject("Indie Ads example").AddComponent<IndieAdsExample>().settings = settings;
        EditorSceneManager.SaveScene(scene, folder + "/IndieAdsDemo.unity");
        AssetDatabase.SaveAssets();
        Selection.activeObject = settings;
    }
}

