123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- using UnityEngine;
- using UnityEngine.UI;
- using UnityEngine.Advertisements;
- using System.Collections;
- public class FreeVIPButton : MonoBehaviour {
- public Text text1;
- public Text text2;
- private AlertPanel maskAlert;
- public void Refresh()
- {
- UserData userData = Session.GetInstance ().myUserData;
- if (userData.IsFullVIP ())
- {
- gameObject.transform.localScale = Vector3.zero;
- }
- else if (userData.vipNextRound)
- {
- text1.text = Language.GetStr ("Menu", "vip");
- text2.text = Language.GetStr ("Menu", "active");
- gameObject.transform.localScale = Vector3.one;
- }
- else if(!Advertisement.isSupported || !Advertisement.IsReady("rewardedVideo"))
- {
- gameObject.transform.localScale = Vector3.zero;
- }
- else
- {
- text1.text = Language.GetStr ("Menu", "free");
- text2.text = Language.GetStr ("Menu", "vip");
- gameObject.transform.localScale = Vector3.one;
- }
- }
- public void OnClick()
- {
- UserData userData = Session.GetInstance ().myUserData;
- if(!userData.vipNextRound)
- {
- var options = new ShowOptions { resultCallback = HandleShowResult };
- Advertisement.Show("rewardedVideo", options);
- maskAlert = AlertPanel.Show (null, "hehe");
- }
- }
- private void HandleShowResult(ShowResult result)
- {
- switch (result)
- {
- case ShowResult.Finished:
- Debuger.Log ("The ad was successfully shown.");
- //
- // YOUR CODE TO REWARD THE GAMER
- // Give coins etc.
- Session.GetInstance ().myUserData.vipNextRound = true;
- DGAnalytics.CustomEvent("AdFinished");
- Refresh ();
- break;
- case ShowResult.Skipped:
- Debuger.Log("The ad was skipped before reaching the end.");
- DGAnalytics.CustomEvent("AdSkipped");
- break;
- case ShowResult.Failed:
- Debuger.LogError("The ad failed to be shown.");
- DGAnalytics.CustomEvent("AdFailed");
- break;
- }
- if (maskAlert != null) {
- maskAlert.Close ();
- maskAlert = null;
- }
- }
- private float lastRefreshTime;
- void Update()
- {
- if(GameTime.time - lastRefreshTime > 5f)
- {
- lastRefreshTime = GameTime.time;
- Refresh ();
- }
- }
- }
|