118 lines
3.5 KiB
C#
118 lines
3.5 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
using UnityEngine.UI;
|
||
using GCGame.Table;
|
||
|
||
// 皇陵探宝UI
|
||
public class TombRaiderTipPanelCtr : MonoBehaviour {
|
||
|
||
private static TombRaiderTipPanelCtr instance;
|
||
public static TombRaiderTipPanelCtr Instance
|
||
{
|
||
get { return instance; }
|
||
}
|
||
|
||
private static string settingKey = "TombRaiderTipShow"; // 玩家设置:是否显示提示,-1不显示 1显示。
|
||
private static bool hasShow = true; // 是否已经显示过,确保每次活动之弹出一次。
|
||
public static bool HasShow
|
||
{
|
||
get { return hasShow; }
|
||
set { hasShow = value; }
|
||
}
|
||
|
||
public int countDownTime;
|
||
public UIBackRayBehind bgMask;
|
||
public Button closeBtn;
|
||
public RectTransform content;
|
||
public Text tip;
|
||
public Button confirmBtn;
|
||
public Text btnDesc;
|
||
public Toggle neverShowTipToggle;
|
||
|
||
public static void ShowTip()
|
||
{
|
||
if(!PlayerPrefs.HasKey(settingKey + GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid))
|
||
{
|
||
PlayerPrefs.SetInt(settingKey + GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid, 1);
|
||
}
|
||
|
||
if (PlayerPrefs.GetInt(settingKey + GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid) == 1 && HasShow == false)
|
||
{
|
||
UIManager.ShowUI(UIInfo.TombRaiderTipCtr);
|
||
HasShow = true;
|
||
}
|
||
}
|
||
|
||
private void Awake()
|
||
{
|
||
closeBtn.onClick.AddListener(OnCloseBtnClick);
|
||
confirmBtn.onClick.AddListener(OnConfirmBtnClick);
|
||
neverShowTipToggle.onValueChanged.AddListener(OnToggerValueChange);
|
||
}
|
||
|
||
private void OnEnable()
|
||
{
|
||
StopAllCoroutines();
|
||
|
||
Tab_HelpMessage tab = TableManager.GetHelpMessageByID(46, 0);
|
||
tip.text = "";
|
||
int tipCount = tab.getMessageCount();
|
||
string temp;
|
||
for(int i = 0; i < tipCount; ++i)
|
||
{
|
||
temp = tab.GetMessagebyIndex(i).Trim('"');
|
||
if (string.IsNullOrEmpty(temp) || temp.Length < 2)
|
||
{
|
||
continue;
|
||
}
|
||
|
||
tip.text += temp + "\n";
|
||
}
|
||
|
||
StartCoroutine(CountDown(countDownTime));
|
||
}
|
||
|
||
//6751 皇陵探宝活动确认按钮 确认
|
||
//6752 皇陵探宝活动按钮时间倒计时格式"({0}s)"
|
||
private IEnumerator CountDown(float remainTime)
|
||
{
|
||
string defaultStr = StrDictionary.GetClientDictionaryString("#{6751}");
|
||
btnDesc.text = defaultStr;
|
||
if (remainTime > 0)
|
||
{
|
||
// 先减一次,可以让最后显示0的时候有1秒时间
|
||
--remainTime;
|
||
float j = 0.0f;
|
||
for (; remainTime >= 0; --remainTime)
|
||
{
|
||
btnDesc.text = defaultStr + StrDictionary.GetClientDictionaryString("#{6752}", remainTime);
|
||
for (; j < 1.0f; j += Time.deltaTime)
|
||
{
|
||
yield return 0;
|
||
}
|
||
|
||
j -= 1.0f;
|
||
}
|
||
}
|
||
|
||
OnConfirmBtnClick();
|
||
}
|
||
|
||
private void OnConfirmBtnClick()
|
||
{
|
||
UIManager.CloseUI(UIInfo.TombRaiderTipCtr);
|
||
}
|
||
|
||
private void OnCloseBtnClick()
|
||
{
|
||
UIManager.CloseUI(UIInfo.TombRaiderTipCtr);
|
||
}
|
||
|
||
private void OnToggerValueChange(bool setting)
|
||
{
|
||
int showSetting = setting ? -1 : 1;
|
||
PlayerPrefs.SetInt(settingKey + GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid, showSetting);
|
||
}
|
||
}
|