|
|
|
|
/*
|
|
|
|
|
http://www.cgsoso.com/forum-211-1.html
|
|
|
|
|
|
|
|
|
|
CG搜搜 Unity3d 每日Unity3d插件免费更新 更有VIP资源!
|
|
|
|
|
|
|
|
|
|
CGSOSO 主打游戏开发,影视设计等CG资源素材。
|
|
|
|
|
|
|
|
|
|
插件如若商用,请务必官网购买!
|
|
|
|
|
|
|
|
|
|
daily assets update for try.
|
|
|
|
|
|
|
|
|
|
U should buy the asset from home store if u use it in your project!
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
//using GoogleMobileAds.Api;
|
|
|
|
|
using System;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
public class RewardedVideoGroup : MonoBehaviour
|
|
|
|
|
{
|
|
|
|
|
public GameObject buttonGroup;
|
|
|
|
|
|
|
|
|
|
public GameObject textGroup;
|
|
|
|
|
|
|
|
|
|
public TimerText timerText;
|
|
|
|
|
|
|
|
|
|
private const string ACTION_NAME = "rewarded_video";
|
|
|
|
|
|
|
|
|
|
private void Start()
|
|
|
|
|
{
|
|
|
|
|
if (timerText != null)
|
|
|
|
|
{
|
|
|
|
|
TimerText obj = timerText;
|
|
|
|
|
obj.onCountDownComplete = (Action)Delegate.Combine(obj.onCountDownComplete, new Action(OnCountDownComplete));
|
|
|
|
|
}
|
|
|
|
|
Timer.Schedule(this, 0.1f, AddEvents);
|
|
|
|
|
if (!IsAvailableToShow())
|
|
|
|
|
{
|
|
|
|
|
buttonGroup.SetActive(value: false);
|
|
|
|
|
if (IsAdAvailable() && !IsActionAvailable())
|
|
|
|
|
{
|
|
|
|
|
int time = (int)((double)GameConfig.instance.rewardedVideoPeriod - CUtils.GetActionDeltaTime("rewarded_video"));
|
|
|
|
|
ShowTimerText(time);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
InvokeRepeating("IUpdate", 1f, 1f);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AddEvents()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
IronSourceRewardedVideoEvents.onAdRewardedEvent += HandleRewardBasedVideoRewarded;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void IUpdate()
|
|
|
|
|
{
|
|
|
|
|
buttonGroup.SetActive(IsAvailableToShow());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnClick()
|
|
|
|
|
{
|
|
|
|
|
IronSource.Agent.showRewardedVideo();
|
|
|
|
|
//AdmobController.instance.ShowRewardBasedVideo();
|
|
|
|
|
Sound.instance.PlayButton();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ShowTimerText(int time)
|
|
|
|
|
{
|
|
|
|
|
if (textGroup != null)
|
|
|
|
|
{
|
|
|
|
|
textGroup.SetActive(value: true);
|
|
|
|
|
timerText.SetTime(time);
|
|
|
|
|
timerText.Run();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void HandleRewardBasedVideoRewarded(IronSourcePlacement ironSourcePlacement, IronSourceAdInfo ironSourceAdInfo)
|
|
|
|
|
{
|
|
|
|
|
buttonGroup.SetActive(value: false);
|
|
|
|
|
ShowTimerText(GameConfig.instance.rewardedVideoPeriod);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//public void HandleRewardBasedVideoRewarded(object sender, Reward args)
|
|
|
|
|
//{
|
|
|
|
|
// buttonGroup.SetActive(value: false);
|
|
|
|
|
// ShowTimerText(GameConfig.instance.rewardedVideoPeriod);
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
private void OnCountDownComplete()
|
|
|
|
|
{
|
|
|
|
|
textGroup.SetActive(value: false);
|
|
|
|
|
if (IsAdAvailable())
|
|
|
|
|
{
|
|
|
|
|
buttonGroup.SetActive(value: true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool IsAvailableToShow()
|
|
|
|
|
{
|
|
|
|
|
return IsActionAvailable() && IsAdAvailable();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private bool IsActionAvailable()
|
|
|
|
|
{
|
|
|
|
|
return CUtils.IsActionAvailable("rewarded_video", GameConfig.instance.rewardedVideoPeriod);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private bool IsAdAvailable()
|
|
|
|
|
{
|
|
|
|
|
//if (AdmobController.instance.rewardBasedVideo == null)
|
|
|
|
|
//{
|
|
|
|
|
// return false;
|
|
|
|
|
//}
|
|
|
|
|
return IronSource.Agent.isRewardedVideoAvailable();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void OnDestroy()
|
|
|
|
|
{
|
|
|
|
|
IronSourceRewardedVideoEvents.onAdRewardedEvent -= HandleRewardBasedVideoRewarded;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void OnApplicationPause(bool pause)
|
|
|
|
|
{
|
|
|
|
|
if (!pause && textGroup != null && textGroup.activeSelf)
|
|
|
|
|
{
|
|
|
|
|
int time = (int)((double)GameConfig.instance.rewardedVideoPeriod - CUtils.GetActionDeltaTime("rewarded_video"));
|
|
|
|
|
ShowTimerText(time);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|