using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class WortiseRequestParameters
{
    public string Agent;
    public WortiseCollapsiblePosition? Collapsible;


    internal string ToJson()
    {
        Dictionary<string, object> values = new Dictionary<string, object>();

        if (Agent != null)
        {
            values["agent"] = Agent;
        }

        if (Collapsible != null)
        {
            values["collapsible"] = CollapsibleValue;
        }

        return WortiseJson.Serialize(values);
    }


    private string CollapsibleValue
    {
        get
        {
            switch (Collapsible)
            {
                case WortiseCollapsiblePosition.Bottom: return "bottom";
                case WortiseCollapsiblePosition.Top:    return "top";
                default:                                return null;
            }
        }
    }


    #if UNITY_ANDROID && !UNITY_EDITOR
    internal static AndroidJavaObject ToAndroidJavaObject(string json)
    {
        using (AndroidJavaClass factory = new AndroidJavaClass("com.wortise.ads.unity.RequestParametersFactory"))
        {
            return factory.CallStatic<AndroidJavaObject>("create", json);
        }
    }
    #endif
}
