using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
using Snxxz.UI;
|
using System;
|
|
namespace EnhancedUI.EnhancedScroller
|
{
|
public class RoleTitleCell : ScrollerUI
|
{
|
[SerializeField] Image m_TitleIcon;
|
[SerializeField] Image m_BottomImg;
|
[SerializeField] Button m_UseTitleBtn;
|
[SerializeField] Image m_TitleEquipImg;
|
[SerializeField] Button m_TitleGetBtn;
|
[SerializeField] RectTransform m_ContainerNewGet;
|
|
TitleModel m_Model;
|
TitleModel model
|
{
|
get
|
{
|
return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TitleModel>());
|
}
|
}
|
|
TaskModel task { get { return ModelCenter.Instance.GetModel<TaskModel>(); } }
|
|
public override void Refresh(CellView cell)
|
{
|
int _index = cell.index;
|
if (_index >= model.roleTitleList.Count)
|
{
|
return;
|
}
|
int _titleId = model.roleTitleList[_index];
|
TitleData titleData = model.GetGainTitle(_titleId);
|
DienstgradConfig config = DienstgradConfig.Get(_titleId);
|
m_TitleIcon.SetSprite(config.Image);
|
m_TitleIcon.SetNativeSize();
|
if (model.presentSelectTitle == model.roleTitleList[_index])
|
{
|
m_BottomImg.SetSprite("Title_RightWindow");
|
}
|
else
|
{
|
m_BottomImg.SetSprite("Title_PopupWindow");
|
}
|
m_TitleGetBtn.gameObject.SetActive(!model.IsTitleGain(_titleId) && config.gotoId > 0);
|
m_UseTitleBtn.gameObject.SetActive(model.IsTitleGain(_titleId));
|
m_ContainerNewGet.gameObject.SetActive(model.IsNewGet(_titleId));
|
m_UseTitleBtn.onClick.RemoveAllListeners();
|
if (titleData != null)
|
{
|
m_UseTitleBtn.onClick.AddListener(()=>
|
{
|
OnTitleUseClick(_index);
|
});
|
m_TitleEquipImg.gameObject.SetActive(titleData.isEquiped);
|
}
|
m_TitleGetBtn.RemoveAllListeners();
|
if (titleData == null && config.gotoId > 0)
|
{
|
m_TitleGetBtn.AddListener(() =>
|
{
|
if (config.gotoId > 0)
|
{
|
if (config.missionId > 0
|
&& task.GetQuestState(config.missionId) == -1)
|
{
|
var taskConfig = PyTaskConfig.Get(config.missionId);
|
var taskName = string.Empty;
|
if (taskConfig != null)
|
{
|
var taskInfo = TASKINFOConfig.Get(taskConfig.name);
|
if (taskInfo != null)
|
{
|
taskName = taskInfo.show_writing;
|
}
|
}
|
SysNotifyMgr.Instance.ShowTip("RoleTitle_1", taskName);
|
return;
|
}
|
WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)config.gotoId);
|
}
|
});
|
}
|
}
|
|
private void OnTitleUseClick(int _index)
|
{
|
int id = model.roleTitleList[_index];
|
if (!model.IsTitleGain(id))
|
{
|
return;
|
}
|
TitleData title = model.GetGainTitle(id);
|
C0337_tagCPlayerChangeDienstgrad equipTitlePack = new C0337_tagCPlayerChangeDienstgrad();
|
equipTitlePack.GradID = (uint)id;
|
equipTitlePack.State = (byte)(title.isEquiped ? 0 : 1);
|
GameNetSystem.Instance.SendInfo(equipTitlePack);
|
}
|
}
|
}
|
|