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

namespace AD.VosacoSDK
{
    public class VosacoInterAdListenerProxy : AndroidJavaProxy
    {

        public event Action OnLoaded;
        public event Action OnLoadFailed;
        public event Action OnClicked;
        public event Action OnShow;
        public event Action OnClose;
        public event Action OnVideoStart;
        public event Action OnVideoEnd;
        public event Action OnVideoError;

        public VosacoInterAdListenerProxy()
            : base("com.rixengine.unity_plugin.IInterAdListener") { }

        public void onLoaded()
        {
            VosacoAdSDK.LogD($"UNITY INTER Call : onLoaded");
            OnLoaded?.Invoke();
        }

        public void onLoadFailed()
        {
            VosacoAdSDK.LogD($"UNITY INTER Call : onLoadFailed"); 
            OnLoadFailed?.Invoke();
        }

        public void onClicked()
        {
            VosacoAdSDK.LogD($"UNITY INTER Call : onClicked");
            OnClicked?.Invoke();
        }

        public void onShow()
        {
            VosacoAdSDK.LogD($"UNITY INTER Call : onShow");
            OnShow?.Invoke();
        }

        public void onClose()
        {
            VosacoAdSDK.LogD($"UNITY INTER Call : onClose");
            OnClose?.Invoke();
        }

        public void onVideoStart()
        {
            VosacoAdSDK.LogD($"UNITY INTER Call : onVideoStart");
            OnVideoStart?.Invoke();
        }

        public void onVideoEnd()
        {
            VosacoAdSDK.LogD($"UNITY INTER Call : onVideoEnd");
            OnVideoEnd?.Invoke();
        }

        public void onVideoError()
        {
            VosacoAdSDK.LogD($"UNITY INTER Call : onVideoError");
            OnVideoError?.Invoke();
        }
    }
}
