using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
using System;
|
|
namespace Snxxz.UI
|
{
|
public class TreasureSoulBehaviour : MonoBehaviour
|
{
|
[SerializeField] Text m_SoulName;
|
[SerializeField] Text m_SoulState;
|
[SerializeField] Image m_SelectImg;
|
[SerializeField] Button m_SelectBtn;
|
[SerializeField] RedpointBehaviour m_Redpoint;
|
|
int treasureSoulId = 0;
|
|
TreasureSpecialData special;
|
|
TreasureSoulModel model
|
{
|
get
|
{
|
return ModelCenter.Instance.GetModel<TreasureSoulModel>();
|
}
|
}
|
|
AchievementModel achievementModel { get { return ModelCenter.Instance.GetModel<AchievementModel>(); } }
|
|
private void Awake()
|
{
|
m_SelectBtn.onClick.AddListener(OnSelect);
|
}
|
|
private void OnEnable()
|
{
|
model.treasureSelectSoulChangeEvent += TreasureSelectSoulChangeEvent;
|
model.treasureSoulEvent += TreasureSoulEvent;
|
//achievementModel.achievementCompletedEvent += AchievementCompletedEvent;
|
}
|
|
private void OnDisable()
|
{
|
model.treasureSelectSoulChangeEvent -= TreasureSelectSoulChangeEvent;
|
model.treasureSoulEvent -= TreasureSoulEvent;
|
//achievementModel.achievementCompletedEvent -= AchievementCompletedEvent;
|
}
|
|
//private void AchievementCompletedEvent(int _id)
|
//{
|
// int achievementId = 0;
|
// if (model.TryGetLockAchievement(treasureSoulId, out achievementId))
|
// {
|
// if (achievementId == _id)
|
// {
|
// DisplayState();
|
// }
|
// }
|
//}
|
|
public void Display(int _id)
|
{
|
treasureSoulId = _id;
|
m_Redpoint.redpointId = 0;
|
if (model.TryGetTreasureSoul(_id, out special))
|
{
|
var config = TreasurePrivilegeConfig.Get(_id);
|
if (config == null)
|
{
|
return;
|
}
|
m_Redpoint.redpointId = special.redpoint.id;
|
m_SoulName.text = config.Name;
|
m_SelectImg.SetSprite(model.selectSoul == treasureSoulId ? "ListBtn_Select" : "ListBtn_UnSelect");
|
DisplayState();
|
}
|
}
|
|
void DisplayState()
|
{
|
if (special != null)
|
{
|
if (special.active)
|
{
|
m_SoulState.text = Language.Get("TreasureSoul_Awoke");
|
}
|
else
|
{
|
m_SoulState.text = Language.Get("TreasureSoul_Awaking");
|
|
//int achievementId = 0;
|
//bool unlock = true;
|
//if (model.TryGetLockAchievement(treasureSoulId, out achievementId))
|
//{
|
// Achievement achievement;
|
// if (achievementModel.TryGetAchievement(achievementId, out achievement))
|
// {
|
// unlock = achievement.completed;
|
// }
|
//}
|
//if (unlock)
|
//{
|
// m_SoulState.text = Language.Get("TreasureSoul_Awaking");
|
//}
|
//else
|
//{
|
// var successConfig = SuccessConfig.Get(achievementId);
|
// m_SoulState.text = Language.Get("TreasureSoulRealm", successConfig.NeedCnt);
|
//}
|
}
|
}
|
}
|
|
private void TreasureSelectSoulChangeEvent(int _id)
|
{
|
if (special != null)
|
{
|
m_SelectImg.SetSprite(model.selectSoul == treasureSoulId ? "ListBtn_Select" : "ListBtn_UnSelect");
|
}
|
}
|
|
private void TreasureSoulEvent(int _id)
|
{
|
if (_id == treasureSoulId)
|
{
|
DisplayState();
|
}
|
}
|
|
private void OnSelect()
|
{
|
model.selectSoul = treasureSoulId;
|
}
|
}
|
}
|