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

Unity實(shí)現(xiàn)10天簽到系統(tǒng)

 更新時(shí)間:2021年04月20日 14:28:19   作者:小鄒同學(xué)1  
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)10天簽到系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Unity實(shí)現(xiàn)10天簽到系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

實(shí)現(xiàn)功能:

正常在游戲中簽到,并把剩下的倒計(jì)時(shí)給顯示出來(lái)。時(shí)間是變化的,沒(méi)有用gif是顯示,將就著看…

廢話(huà)不多說(shuō),上代碼:

public class SignPanelUI : MonoBehaviour
{
    public const string SignNumPrefs = "SignNum";//領(lǐng)取次數(shù)的字符串
    public const string SignDataPrefs = "lastDay";//上次領(lǐng)取的時(shí)間字符串
    int signNum;//簽到次數(shù)  默認(rèn)是0

    DateTime today;//今日日期
    DateTime lastDay;//上次領(lǐng)取日期
    TimeSpan Interval;//間隔時(shí)間

    Button reviceButton;//領(lǐng)取按鈕
    Text reviceText;//領(lǐng)取和時(shí)間Text

    bool isShowTime;//是否顯示時(shí)間

    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)//重新計(jì)算簽到
            {
                PlayerPrefs.DeleteKey(SignNumPrefs);
                //TODO:把獎(jiǎng)勵(lì)物品重置
            }
            //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; //用后一天的時(shí)間減掉當(dāng)前的時(shí)間,得到剩下的時(shí)分秒
        //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)取獎(jiǎng)勵(lì)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:獎(jiǎng)勵(lì)
       
    }

    //判斷是否可以簽到
    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è)置。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

    這篇文章介紹了C#復(fù)制數(shù)組的兩種方式及效率比較,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    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é)議實(shí)現(xiàn)掃描儀連續(xù)掃描功能

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

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

    C#難點(diǎn)逐個(gè)擊破(2):out返回參數(shù)

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

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

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

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

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

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

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

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

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

    C#簡(jiǎn)單讀寫(xiě)txt文件的方法

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

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

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

最新評(píng)論