using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using Snxxz.UI;
|
//基本功能
|
public class BasicFunction : MonoBehaviour
|
{
|
|
[SerializeField] Button SkillBtn;
|
[SerializeField] Button HallBtn;
|
[SerializeField] Button bossBtn;
|
[SerializeField] Button FairyAuBtn;
|
[SerializeField] Button LivenBtn;
|
[SerializeField] Button _fairyStoreBtn;
|
[SerializeField] Button m_SalaryGetBtn;
|
[SerializeField] Text textFairyName;
|
[SerializeField] Text textFairyLv;
|
[SerializeField] Text m_FairyRankTxt;
|
|
StoreModel _storeModel;
|
StoreModel m_storeModel
|
{
|
get { return _storeModel ?? (_storeModel = ModelCenter.Instance.GetModel<StoreModel>()); }
|
}
|
|
FairyModel m_Model;
|
FairyModel model
|
{
|
get
|
{
|
return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<FairyModel>());
|
}
|
}
|
CoinTaskTipModel m_CoinTaskTip;
|
CoinTaskTipModel coinTaskTip { get { return m_CoinTaskTip ?? (m_CoinTaskTip = ModelCenter.Instance.GetModel<CoinTaskTipModel>()); } }
|
private void Awake()
|
{
|
_fairyStoreBtn.onClick.AddListener(OnClickFairyStoreBtn);
|
bossBtn.onClick.AddListener(OnBossBtn);
|
LivenBtn.onClick.AddListener(OnClickLivenBtn);
|
m_SalaryGetBtn.onClick.AddListener(OnSalaryGet);
|
SkillBtn.onClick.AddListener(SkillBtna);
|
HallBtn.onClick.AddListener(HallButton);
|
FairyAuBtn.AddListener(FairyAuButton);
|
}
|
|
private void OnEnable()
|
{
|
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
|
model.UpdateFairySalaryEvent += UpdateFairySalaryEvent;
|
InitFairyInfo();
|
UpdateFairySalaryEvent();
|
HandleAchievement();
|
}
|
|
void InitFairyInfo()
|
{
|
PlayerFairyData.FairyData fairy = PlayerDatas.Instance.fairyData.fairy;
|
if (fairy != null)
|
{
|
textFairyName.text = fairy.FamilyName;
|
textFairyLv.text = fairy.FamilyLV.ToString();
|
m_FairyRankTxt.text = fairy.WarRank == 0 ? Language.Get("UnDetermind") : GetGrade((int)fairy.WarRank);
|
}
|
CheckFairyStoreOpen();
|
CheckFairyMethodToOpen();
|
}
|
|
void CheckFairyStoreOpen()
|
{
|
_fairyStoreBtn.image.color = _fairyStoreBtn.image.color.SetA(model.fairyStoreOpen ? 1 : 0.5f);
|
}
|
|
void CheckFairyMethodToOpen()
|
{
|
SkillBtn.image.color = SkillBtn.image.color.SetA(model.fairyMethodToOpen ? 1 : 0.5f);
|
}
|
|
void SkillBtna()
|
{
|
if (!model.fairyMethodToOpen)
|
{
|
model.ProcessMethodToErrorTip();
|
return;
|
}
|
WindowCenter.Instance.Open<MethodToWin>();
|
}
|
|
void HallButton()
|
{
|
WindowCenter.Instance.Open<HallTipsWin>();
|
}
|
|
private void OnBossBtn()
|
{
|
WindowCenter.Instance.Open<FairyBoss>();
|
}
|
|
void FairyAuButton()
|
{
|
if (coinTaskTip.IsFairy)
|
{
|
coinTaskTip.IsFairy = false;
|
}
|
WindowCenter.Instance.Open<FairyAuTaskWin>();
|
}
|
|
private void OnSalaryGet()
|
{
|
if (!model.fairySalaryGet)
|
{
|
model.SendGetFairySalary();
|
}
|
}
|
|
private void UpdateFairySalaryEvent()
|
{
|
m_SalaryGetBtn.interactable = !model.fairySalaryGet;
|
}
|
|
private void OnClickFairyStoreBtn()
|
{
|
if (!model.fairyStoreOpen)
|
{
|
model.ProcessErrorTip();
|
return;
|
}
|
m_storeModel.ControllerRedPoint(true);
|
WindowCenter.Instance.Open<UnionStoreWin>();
|
}
|
|
private void OnClickLivenBtn()
|
{
|
WindowCenter.Instance.Open<UnionTaskWin>();
|
}
|
|
private void OnDisable()
|
{
|
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
|
model.UpdateFairySalaryEvent -= UpdateFairySalaryEvent;
|
}
|
|
private void OnRefreshFairyInfo()
|
{
|
InitFairyInfo();
|
}
|
|
private string GetGrade(int _rank)
|
{
|
_rank = Mathf.CeilToInt((float)_rank / 4);
|
switch (_rank)
|
{
|
case 1:
|
return Language.Get("Fairy_S");
|
case 2:
|
return Language.Get("Fairy_A");
|
case 3:
|
return Language.Get("Fairy_B");
|
case 4:
|
return Language.Get("Fairy_C");
|
default:
|
return Language.Get("Fairy_D");
|
}
|
}
|
|
void HandleAchievement()
|
{
|
if (AchievementGoto.achievementType == AchievementGoto.FairySalary)
|
{
|
if (!model.fairySalaryGet)
|
{
|
var _effect = AchievementGuideEffectPool.Require(1);
|
_effect.transform.SetParentEx(m_SalaryGetBtn.transform, Vector3.zero, Vector3.zero, Vector3.one);
|
}
|
else
|
{
|
SysNotifyMgr.Instance.ShowTip("Achievement_113");
|
}
|
AchievementGoto.achievementType = 0;
|
}
|
}
|
}
|