using Adplay.DataContainer;
using Adplay.Model;
using Adplay.View;
using System.Threading.Tasks;
using UnityEngine;

namespace Adplay.Behaviours.Actions
{

    public abstract class AdPlayAction : MonoBehaviour
    {

        [SerializeField] protected ActiveAds activeAds;
        [SerializeField] protected EngagementData engagementData;

        public abstract Task<AdRequestInfo> GetAd(AdPlayTemplate template);

        protected string ExtractExtraOption(Creative creative, AdExtraOptionType extraOption)
        {
            if (creative.Config.TryGetValue(extraOption.ToString(), out var value))
            {
                return value.ToString();
            }
            return "";
        }

    }
}
