Unity實現(xiàn)單機游戲每日簽到系統(tǒng)
更新時間:2021年04月20日 14:48:43 作者:learner-頂
這篇文章主要為大家詳細介紹了Unity實現(xiàn)單機游戲每日簽到系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Unity實現(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ù)據(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 = "今天領取";
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 = "明天領取";
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>
/// 點擊普通簽到
/// </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>
/// 點擊視頻雙倍獎勵簽到
/// </summary>
void ClickSignInAd()
{
MobileController.Instance.CallVedioRewardAd("signIn");
}
/// <summary>
/// 回調(diào) - 視頻雙倍獎勵簽到
/// </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();
}
}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
C# CancellationToken和CancellationTokenSource的用法詳解
做了.net core之后,發(fā)現(xiàn)CancellationToken用的越來越平凡了。這也難怪,原來.net framework使用異步的不是很多,而.net core首推異步編程,到處可以看到Task的影子,而CancellationToken正好是異步Task的一個控制器,所以花點時間做個筆記2021-06-06
C#使用itextsharp打印pdf的實現(xiàn)代碼
提到打印,恐怕對于很多人都不會陌生,無論是開發(fā)者,還是非計算機專業(yè)的人員都會接觸到打印,?在.NET中實現(xiàn)PDF打印的組件比較多,例如PDFsharp、Report.NET、sharpPDF、itextSharp等等,今天主要簡單的介紹itextSharp組件,需要的朋友可以參考下2024-04-04
詳解Unity中Mask和RectMask2D組件的對比與測試
本篇文章給大家介紹Unity中Mask和RectMask2D組件的對比與測試,包括組件用法及RectMask2D的基本用法,通過Mask的原理分析實例代碼相結(jié)合給大家講解的非常詳細,需要的朋友參考下吧2021-06-06

