using System; namespace Runtime.ADAggregator { public abstract class ADPlayer { /// /// 0 未加载 、 1 加载中、 2 加载完成 /// protected int curState; public string Key; protected ADListener adListener; public Action OnErrorAction; public AD_Type ADType { get; internal set; } public int State => curState; public ADPlayer Init(string key) { this.Key = key; this.curState = 0; adListener = new ADListener(); this.OnInit(); return this; } public bool IsLoading() { return curState == 1; } public abstract void ShowAD(Action onClose, Action onVideoComplete); public virtual bool IsReadly() { return this.curState == 2; } public abstract void LoadAD(); public virtual void OnInit() { } /// /// 主动关闭广告 /// public virtual void CloseAD() { } public void OnError(object code, string message) { this.OnErrorAction?.Invoke(); this.OnErrorAction = null; curState = 0; } } }