Unity實(shí)現(xiàn)單機(jī)游戲每日簽到系統(tǒng)
本文實(shí)例為大家分享了Unity實(shí)現(xiàn)每日簽到系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
代碼:
using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; public class HallManager : UnitySingleton<HallManager> { public Text textSingInCoinDes, textSingInCoin; public Button btnSignInNormal, btnSignInAd; //------------------------------------------ 簽到模塊 ------------------------------------------ /// <summary> /// 設(shè)置簽到數(shù)據(jù) /// </summary> public void SetSignInPanelData() { if (string.IsNullOrEmpty(PlayerPrefs.GetString("SignInDay7"))) { for (int i = 0; i < 7; i++) { PlayerPrefs.SetString("SignInDay" + (i + 1), DateTime.Today.AddDays(i).ToShortDateString()); } } for (int i = 0; i < 7; i++) { if (DateTime.Today.ToShortDateString().Equals(PlayerPrefs.GetString("SignInDay" + (i + 1)))) { textSingInCoinDes.text = "今天領(lǐng)取"; textSingInCoin.text = signInCoin[i].ToString(); btnSignInNormal.gameObject.SetActive(true); btnSignInAd.gameObject.SetActive(true); signFinish.gameObject.SetActive(false); } else if ("已簽到".Equals(PlayerPrefs.GetString("SignInDay" + (i + 1))) && i != 6) { textSingInCoinDes.text = "明天領(lǐng)取"; textSingInCoin.text = signInCoin[i + 1].ToString(); btnSignInNormal.gameObject.SetActive(false); btnSignInAd.gameObject.SetActive(false); signFinish.gameObject.SetActive(true); } } for (int i = 0; i < 7; i++) { if (DateTime.Today.ToShortDateString().Equals(PlayerPrefs.GetString("SignInDay" + (i + 1))) || "已簽到".Equals(PlayerPrefs.GetString("SignInDay" + (i + 1)))) { if ("已簽到".Equals(PlayerPrefs.GetString("SignInDay" + (i + 1)))) { signInPanel.transform.Find("Items").GetChild(i).Find("YiQianDao").gameObject.SetActive(true); } else { signInPanel.transform.Find("Items").GetChild(i).Find("YiQianDao").gameObject.SetActive(false); } } } } /// <summary> /// 點(diǎn)擊普通簽到 /// </summary> void ClickBtnSignInNormal() { for (int i = 0; i < 7; i++) { if (DateTime.Today.ToShortDateString().Equals(PlayerPrefs.GetString("SignInDay" + (i + 1)))) { CoinManager.Instance.AddCoin(signInCoin[i]); PlayerPrefs.SetString("SignInDay" + (i + 1), "已簽到"); ShowRewardPanel(signInCoin[i]); } } SetUserInfo(); SetSignInPanelData(); //全屏廣告 MobileController.Instance.CallFullScreenAd(FullScreenAdRewardType.None); } /// <summary> /// 點(diǎn)擊視頻雙倍獎(jiǎng)勵(lì)簽到 /// </summary> void ClickSignInAd() { MobileController.Instance.CallVedioRewardAd("signIn"); } /// <summary> /// 回調(diào) - 視頻雙倍獎(jiǎng)勵(lì)簽到 /// </summary> public void CallBackSignInReward() { for (int i = 0; i < 7; i++) { if (DateTime.Today.ToShortDateString().Equals(PlayerPrefs.GetString("SignInDay" + (i + 1)))) { CoinManager.Instance.AddCoin(signInCoin[i] * 2); PlayerPrefs.SetString("SignInDay" + (i + 1), "已簽到"); ShowRewardPanel(signInCoin[i] * 2); } } SetUserInfo(); SetSignInPanelData(); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Visual Studio連接unity編輯器的實(shí)現(xiàn)步驟
unity編輯器中打開C#腳本的時(shí)候發(fā)現(xiàn)Visual Studio沒有連接unity編輯器,本文主要介紹了Visual Studio連接unity編輯器的實(shí)現(xiàn)步驟,感興趣的可以了解一下2023-11-11SuperSocket入門--Telnet服務(wù)器和客戶端請(qǐng)求處理
本文的控制臺(tái)項(xiàng)目是根據(jù)SuperSocket官方Telnet示例代碼進(jìn)行調(diào)試的,官方示例代碼:Telnet示例。下面跟著小編一起來看下吧2017-01-01C# DataTable 轉(zhuǎn)換為 實(shí)體類對(duì)象實(shí)例
如果你的實(shí)體類與數(shù)據(jù)庫(kù)表是完全一致的。上代碼:2013-04-04C#的path.GetFullPath 獲取上級(jí)目錄實(shí)現(xiàn)方法
這篇文章主要介紹了C#的path.GetFullPath 獲取上級(jí)目錄實(shí)現(xiàn)方法,包含了具體的C#實(shí)現(xiàn)方法以及ASP.net與ASP等的方法對(duì)比,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10深入分析C#鍵盤勾子(Hook),屏蔽鍵盤活動(dòng)的詳解
本篇文章是對(duì)C#鍵盤勾子(Hook),屏蔽鍵盤活動(dòng)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C# 9.0 新特性之模式匹配簡(jiǎn)化的實(shí)現(xiàn)
這篇文章主要介紹了C# 9.0 新特性之模式匹配簡(jiǎn)化的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06