|
|
|
|
/*
|
|
|
|
|
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 MS;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
|
|
|
|
public class DailyWheel : MonoBehaviour
|
|
|
|
|
{
|
|
|
|
|
public Popup popup;
|
|
|
|
|
|
|
|
|
|
public GameObject spinWheel;
|
|
|
|
|
|
|
|
|
|
public Button closeBtn;
|
|
|
|
|
|
|
|
|
|
public Button spinBtn;
|
|
|
|
|
|
|
|
|
|
public Button spinAginBtn;
|
|
|
|
|
|
|
|
|
|
public Text spinBtnText;
|
|
|
|
|
|
|
|
|
|
public GameObject rewards;
|
|
|
|
|
|
|
|
|
|
public Text rewardText;
|
|
|
|
|
|
|
|
|
|
public ParticleSystem rewardParticle;
|
|
|
|
|
|
|
|
|
|
public List<int> rewardAmount;
|
|
|
|
|
|
|
|
|
|
public float spintime = 8f;
|
|
|
|
|
|
|
|
|
|
public AnimationCurve spinCurve;
|
|
|
|
|
|
|
|
|
|
public RewardedVideoButton rewardedVideoButton;
|
|
|
|
|
|
|
|
|
|
private bool isAdShow;
|
|
|
|
|
|
|
|
|
|
public static bool isOpenOnce;
|
|
|
|
|
|
|
|
|
|
private void Start()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!PlayerPrefs.HasKey("LastSpinDate"))
|
|
|
|
|
{
|
|
|
|
|
GameManager.LastSpin = DateTime.Now;
|
|
|
|
|
}
|
|
|
|
|
spinBtn.onClick.AddListener(OnSpinBtn);
|
|
|
|
|
spinAginBtn.onClick.AddListener(OnSpinAgainBtn);
|
|
|
|
|
if (GameManager.CanSpin && !GameManager.openLevelSelection && !isOpenOnce)
|
|
|
|
|
{
|
|
|
|
|
Invoke("ShowDailyWheel", 0.5f);
|
|
|
|
|
}
|
|
|
|
|
var em = rewardParticle.emission;
|
|
|
|
|
em.enabled = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[ContextMenu("Show")]
|
|
|
|
|
public void ShowDailyWheel()
|
|
|
|
|
{
|
|
|
|
|
isOpenOnce = true;
|
|
|
|
|
UpdateUI();
|
|
|
|
|
popup.Open();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void UpdateUI()
|
|
|
|
|
{
|
|
|
|
|
closeBtn.interactable = true;
|
|
|
|
|
spinBtn.gameObject.SetActive(value: true);
|
|
|
|
|
spinAginBtn.gameObject.SetActive(value: false);
|
|
|
|
|
if (GameManager.CanSpin)
|
|
|
|
|
{
|
|
|
|
|
CancelInvoke("UpdateUI");
|
|
|
|
|
spinBtn.interactable = true;
|
|
|
|
|
spinBtnText.text = "Spin";
|
|
|
|
|
}
|
|
|
|
|
else if (isAdShow || !rewardedVideoButton.IsAdAvailable())
|
|
|
|
|
{
|
|
|
|
|
spinBtn.interactable = false;
|
|
|
|
|
spinBtnText.text = "Next " + GameManager.RemandingForSpin.Hours + ":" + GameManager.RemandingForSpin.Minutes;
|
|
|
|
|
InvokeRepeating("UpdateUI", 60f, 60f);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
spinBtn.gameObject.SetActive(value: false);
|
|
|
|
|
spinAginBtn.gameObject.SetActive(value: true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnSpinBtn()
|
|
|
|
|
{
|
|
|
|
|
closeBtn.interactable = false;
|
|
|
|
|
spinBtn.interactable = false;
|
|
|
|
|
GameManager.LastSpin = DateTime.Now;
|
|
|
|
|
int index = UnityEngine.Random.Range(0, rewardAmount.Count);
|
|
|
|
|
LeanTween.rotateZ(spinWheel, 2520 + index * (360 / rewardAmount.Count), spintime).setOnComplete((Action)delegate
|
|
|
|
|
{
|
|
|
|
|
GameManager.Coin += rewardAmount[index];
|
|
|
|
|
HomeScene.instance.UpdateUI();
|
|
|
|
|
rewardText.text = rewardAmount[index] + string.Empty;
|
|
|
|
|
LeanTween.scale(rewards, Vector3.one, 1f).setEaseOutQuad().setOnComplete((Action)delegate
|
|
|
|
|
{
|
|
|
|
|
var em = rewardParticle.emission;
|
|
|
|
|
em.enabled = true;
|
|
|
|
|
rewardParticle.Emit(rewardAmount[index]);
|
|
|
|
|
LeanTween.scale(rewards, Vector3.zero, 1f).setEaseInQuad().setDelay(2f);
|
|
|
|
|
UpdateUI();
|
|
|
|
|
});
|
|
|
|
|
}).setEase(spinCurve);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void OnSpinAgainBtn()
|
|
|
|
|
{
|
|
|
|
|
rewardedVideoButton.OnClick();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void AdsShowComplete()
|
|
|
|
|
{
|
|
|
|
|
spinAginBtn.interactable = false;
|
|
|
|
|
isAdShow = true;
|
|
|
|
|
OnSpinBtn();
|
|
|
|
|
}
|
|
|
|
|
}
|