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

public class WortiseRevenueData
{
    public WortiseAdValue revenue;
    public string         source;


    public WortiseRevenueData(WortiseAdValue revenue, string source)
    {
        this.revenue = revenue;
        this.source  = source;
    }


#if UNITY_ANDROID
    static internal WortiseRevenueData FromAndroidJavaObject(AndroidJavaObject obj)
    {
        if (obj == null)
        {
            return null;
        }

        AndroidJavaObject revenueObj = obj.Call<AndroidJavaObject>("getRevenue");

        WortiseAdValue revenue = WortiseAdValue.FromAndroidJavaObject(revenueObj);

        if (revenue == null)
        {
            return null;
        }

        string source = obj.Call<string>("getSource");

        return new WortiseRevenueData(revenue, source);
    }
#endif

    static internal WortiseRevenueData FromDictionary(Dictionary<string, object> dic)
    {
        if (dic == null)
        {
            return null;
        }

        Dictionary<string, object> revenueDic = dic["revenue"] as Dictionary<string, object>;

        WortiseAdValue revenue = WortiseAdValue.FromDictionary(revenueDic);

        if (revenue == null)
        {
            return null;
        }

        string source = Convert.ToString(dic["source"]);

        return new WortiseRevenueData(revenue, source);
    }
}
