欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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#復(fù)制數(shù)組的兩種方式及效率比較

    C#復(fù)制數(shù)組的兩種方式及效率比較

    這篇文章介紹了C#復(fù)制數(shù)組的兩種方式及效率比較,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • C#跨PC遠(yuǎn)程調(diào)用程序并顯示UI界面

    C#跨PC遠(yuǎn)程調(diào)用程序并顯示UI界面

    這篇文章主要為大家介紹了使用C#跨PC遠(yuǎn)程調(diào)用程序并顯示UI界面,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • C#使用Twain協(xié)議實現(xiàn)掃描儀連續(xù)掃描功能

    C#使用Twain協(xié)議實現(xiàn)掃描儀連續(xù)掃描功能

    這篇文章主要介紹了C#使用Twain協(xié)議實現(xiàn)掃描儀連續(xù)掃描,只需一行代碼,就可實現(xiàn)一次掃描多張,且不需要更改掃描儀的任何設(shè)置,需要的朋友可以參考下
    2022-01-01
  • C#難點逐個擊破(2):out返回參數(shù)

    C#難點逐個擊破(2):out返回參數(shù)

    之前提到ref是將原方法中的參數(shù)影響的結(jié)果返回到調(diào)用它的方法中,out與ref類似,相比之下,ref傳遞參數(shù)的地址,out是返回值。
    2010-02-02
  • C#打開php鏈接傳參然后接收返回值的關(guān)鍵代碼

    C#打開php鏈接傳參然后接收返回值的關(guān)鍵代碼

    這篇文章主要介紹了C#打開php鏈接傳參然后接收返回值的關(guān)鍵代碼,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • C# BeginInvoke實現(xiàn)異步編程方式

    C# BeginInvoke實現(xiàn)異步編程方式

    這篇文章主要介紹了C# BeginInvoke實現(xiàn)異步編程方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 淺談C#中Md5和Sha1兩種加密方式

    淺談C#中Md5和Sha1兩種加密方式

    這篇文章主要介紹了淺談C#中Md5和Sha1兩種加密方式的相關(guān)資料,需要的朋友可以參考下
    2015-07-07
  • C#實現(xiàn)rar壓縮與解壓縮文件的方法

    C#實現(xiàn)rar壓縮與解壓縮文件的方法

    這篇文章主要介紹了C#實現(xiàn)rar壓縮與解壓縮文件的方法,實例分析了C#利用winrar程序?qū)崿F(xiàn)文件的壓縮與解壓縮的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • C#簡單讀寫txt文件的方法

    C#簡單讀寫txt文件的方法

    這篇文章主要介紹了C#簡單讀寫txt文件的方法,涉及C#針對文件的基本打開、寫入、保存與讀取等操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • C#使用linq查詢大數(shù)據(jù)集的方法

    C#使用linq查詢大數(shù)據(jù)集的方法

    這篇文章主要介紹了C#使用linq查詢大數(shù)據(jù)集的方法,涉及C#調(diào)用linq進(jìn)行數(shù)據(jù)查詢的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04

最新評論