using System;

public interface IToukaAdInterface {
	void Init ();

    void LoadBanner (System.Action<bool> _callback);
	void LoadInterstitial (System.Action<bool> _callback);
	void LoadVideo (System.Action<bool> _callback);
    void LoadNative(System.Action<bool> _callback);

    void ShowVideo (System.Action<ToukaVideoStatus> _callback);
	void ShowIntersitial (System.Action<ToukaIntersitialStatus> _callback);
	void ShowBanner ();
	void ShowNative(float x, float y, float width, float height);


	void RemoveBanner(bool _clean);
    void RemoveNative(bool _isClean);

    bool IsReadyVideo ();
	bool IsReadyIntersitial ();
	bool IsReadyBanner ();
    bool IsReadyNative();
}

public enum ToukaVideoStatus {
	SUCCESS, //成功给奖励
	FAIL, //失败不给奖励
	CANCEL, //取消不给奖励
	SHOW, //视频展示，用于静音等逻辑处理
	CLOSE, //视频关闭，用于静音等逻辑处理
}

public enum ToukaIntersitialStatus {
	SHOW, //插屏展示，用于静音等逻辑处理
	FAIL, //插屏展示失败，用于静音等逻辑处理
	CLOSE, //插屏关闭，用于静音等逻辑处理
}

public struct ToukaVideoPlace { //用于统计
	public string ClickPlace;
	public string ShowPlace;
	public string RewardPlace;

	public ToukaVideoPlace (string clickPlace, string showPlace, string rewardPlace) {
		ClickPlace = clickPlace;
		ShowPlace = showPlace;
		RewardPlace = rewardPlace;
	}
}