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);
|
|||
|
}
|
|||
|
}
|