FreeVIPButton.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using UnityEngine.Advertisements;
  4. using System.Collections;
  5. public class FreeVIPButton : MonoBehaviour {
  6. public Text text1;
  7. public Text text2;
  8. private AlertPanel maskAlert;
  9. public void Refresh()
  10. {
  11. UserData userData = Session.GetInstance ().myUserData;
  12. if (userData.IsFullVIP ())
  13. {
  14. gameObject.transform.localScale = Vector3.zero;
  15. }
  16. else if (userData.vipNextRound)
  17. {
  18. text1.text = Language.GetStr ("Menu", "vip");
  19. text2.text = Language.GetStr ("Menu", "active");
  20. gameObject.transform.localScale = Vector3.one;
  21. }
  22. else if(!Advertisement.isSupported || !Advertisement.IsReady("rewardedVideo"))
  23. {
  24. gameObject.transform.localScale = Vector3.zero;
  25. }
  26. else
  27. {
  28. text1.text = Language.GetStr ("Menu", "free");
  29. text2.text = Language.GetStr ("Menu", "vip");
  30. gameObject.transform.localScale = Vector3.one;
  31. }
  32. }
  33. public void OnClick()
  34. {
  35. UserData userData = Session.GetInstance ().myUserData;
  36. if(!userData.vipNextRound)
  37. {
  38. var options = new ShowOptions { resultCallback = HandleShowResult };
  39. Advertisement.Show("rewardedVideo", options);
  40. maskAlert = AlertPanel.Show (null, "hehe");
  41. }
  42. }
  43. private void HandleShowResult(ShowResult result)
  44. {
  45. switch (result)
  46. {
  47. case ShowResult.Finished:
  48. Debuger.Log ("The ad was successfully shown.");
  49. //
  50. // YOUR CODE TO REWARD THE GAMER
  51. // Give coins etc.
  52. Session.GetInstance ().myUserData.vipNextRound = true;
  53. DGAnalytics.CustomEvent("AdFinished");
  54. Refresh ();
  55. break;
  56. case ShowResult.Skipped:
  57. Debuger.Log("The ad was skipped before reaching the end.");
  58. DGAnalytics.CustomEvent("AdSkipped");
  59. break;
  60. case ShowResult.Failed:
  61. Debuger.LogError("The ad failed to be shown.");
  62. DGAnalytics.CustomEvent("AdFailed");
  63. break;
  64. }
  65. if (maskAlert != null) {
  66. maskAlert.Close ();
  67. maskAlert = null;
  68. }
  69. }
  70. private float lastRefreshTime;
  71. void Update()
  72. {
  73. if(GameTime.time - lastRefreshTime > 5f)
  74. {
  75. lastRefreshTime = GameTime.time;
  76. Refresh ();
  77. }
  78. }
  79. }