Unity實現(xiàn)10天簽到系統(tǒng)
更新時間:2021年04月20日 14:28:19 作者:小鄒同學(xué)1
這篇文章主要為大家詳細(xì)介紹了Unity實現(xiàn)10天簽到系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Unity實現(xiàn)10天簽到系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
實現(xiàn)功能:
正常在游戲中簽到,并把剩下的倒計時給顯示出來。時間是變化的,沒有用gif是顯示,將就著看…
廢話不多說,上代碼:
public class SignPanelUI : MonoBehaviour { public const string SignNumPrefs = "SignNum";//領(lǐng)取次數(shù)的字符串 public const string SignDataPrefs = "lastDay";//上次領(lǐng)取的時間字符串 int signNum;//簽到次數(shù) 默認(rèn)是0 DateTime today;//今日日期 DateTime lastDay;//上次領(lǐng)取日期 TimeSpan Interval;//間隔時間 Button reviceButton;//領(lǐng)取按鈕 Text reviceText;//領(lǐng)取和時間Text bool isShowTime;//是否顯示時間 private void Awake() { reviceButton = transform.Find("Bg/bottomButton").GetComponent<Button>(); reviceButton.onClick.AddListener(OnSignClick); reviceText = reviceButton.transform.GetChild(0).GetComponent<Text>(); } private void OnEnable() { today = DateTime.Now; signNum = PlayerPrefs.GetInt(SignNumPrefs, 0); lastDay = DateTime.Parse(PlayerPrefs.GetString(SignDataPrefs, DateTime.MinValue.ToString())); if (IsOneDay())//今天日期是否大于領(lǐng)取日期 可以領(lǐng)取 { Debug.Log("可以領(lǐng)取!"); if (signNum >= 10)//重新計算簽到 { PlayerPrefs.DeleteKey(SignNumPrefs); //TODO:把獎勵物品重置 } //TODO:把按鈕text變成領(lǐng)取 reviceText.fontSize = 25; reviceText.text = "領(lǐng)取"; reviceButton.interactable = true; } else //簽到日期未到 { isShowTime = true; reviceButton.interactable = false; reviceText.fontSize = 25; } } private void Update() { //TimeSpan time=DateTime.Now.AddDays(1).Date - DateTime.Now; //用后一天的時間減掉當(dāng)前的時間,得到剩下的時分秒 //Debug.Log(string.Format("{0:D2}:{1:D2}:{2:D2}s",time.Hours,time.Minutes,time.Seconds)); if (isShowTime) { Interval= lastDay.AddDays(1).Date - DateTime.Now; reviceText.text = string.Format("{0:D2}:{1:D2}:{2:D2}",Interval.Hours,Interval.Minutes,Interval.Seconds); } } //簽到領(lǐng)取獎勵Button public void OnSignClick() { isShowTime = true; reviceButton.interactable = false; reviceText.fontSize = 25; signNum++;//領(lǐng)取次數(shù) lastDay = today; PlayerPrefs.SetString(SignDataPrefs, today.ToString()); PlayerPrefs.SetInt(SignNumPrefs, signNum); //TODO:獎勵 } //判斷是否可以簽到 private bool IsOneDay() { if (lastDay.Year == today.Year && lastDay.Month == today.Month && lastDay.Day == today.Day) { return false; } if (DateTime.Compare(lastDay, today) < 0)//DateTime.Compare(t1,t2) 返回<0 t1<t2 等于0 t1=t2 返回>0 t1>t2 { return true; } return false; } }
這是10天的簽到系統(tǒng),想要幾天的簽到可以自己設(shè)置。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#跨PC遠(yuǎn)程調(diào)用程序并顯示UI界面
這篇文章主要為大家介紹了使用C#跨PC遠(yuǎn)程調(diào)用程序并顯示UI界面,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05C#使用Twain協(xié)議實現(xiàn)掃描儀連續(xù)掃描功能
這篇文章主要介紹了C#使用Twain協(xié)議實現(xiàn)掃描儀連續(xù)掃描,只需一行代碼,就可實現(xiàn)一次掃描多張,且不需要更改掃描儀的任何設(shè)置,需要的朋友可以參考下2022-01-01