using UnityEngine;
|
using UnityEngine.UI;
|
|
public class BeautyMMSkinWin : UIBase
|
{
|
[SerializeField] ImageEx roleImg;
|
[SerializeField] Text nameText;
|
[SerializeField] Text wayText;
|
[SerializeField] Text attrTipText; //解锁或者加成效果
|
[SerializeField] Text attrValueText;
|
[SerializeField] ScrollerController clothesScroller;
|
[SerializeField] Button unlockBtn;
|
[SerializeField] Text cntText;
|
[SerializeField] Image itemIcon;
|
[SerializeField] Transform opObjs;
|
[SerializeField] Button lvUPBtn;
|
[SerializeField] Text lvUPCntText;
|
[SerializeField] Image lvUPItemIcon;
|
[SerializeField] Button putOnBtn;
|
[SerializeField] Image putOnYetImg;
|
[SerializeField] UIEffectPlayer lvUPEffect;
|
|
|
int mmID;
|
|
|
protected override void InitComponent()
|
{
|
unlockBtn.AddListener(UnLockSkin);
|
lvUPBtn.AddListener(LvUpSkin);
|
putOnBtn.AddListener(PutOnSkin);
|
|
}
|
|
|
protected override void OnPreOpen()
|
{
|
mmID = functionOrder;
|
BeautyMMManager.Instance.selectSkinID = BeautyMMManager.Instance.GetUsedSkinID(mmID);
|
clothesScroller.OnRefreshCell += OnRefreshCell;
|
BeautyMMManager.Instance.OnSelectSkinIDChange += OnSelectSkinIDChange;
|
BeautyMMManager.Instance.OnBeautyMMDataUpdate += OnSelectSkinIDChange;
|
CreateScroller();
|
Display();
|
}
|
|
protected override void OnPreClose()
|
{
|
clothesScroller.OnRefreshCell -= OnRefreshCell;
|
BeautyMMManager.Instance.OnSelectSkinIDChange -= OnSelectSkinIDChange;
|
BeautyMMManager.Instance.OnBeautyMMDataUpdate -= OnSelectSkinIDChange;
|
}
|
|
void OnSelectSkinIDChange()
|
{
|
clothesScroller.m_Scorller.RefreshActiveCellViews();
|
Display();
|
}
|
|
void Display()
|
{
|
var skinConfig = BeautySkinConfig.Get(BeautyMMManager.Instance.selectSkinID);
|
roleImg.SetOrgSprite(skinConfig.BigRole, "BeautyMMBigRole");
|
roleImg.SetNativeSize();
|
var skinData = BeautyMMManager.Instance.GetSkinData(BeautyMMManager.Instance.selectSkinID);
|
if (skinData.Star != 0)
|
{
|
nameText.text = skinConfig.Name + " " + Language.Get("L1113", skinData.Star);
|
}
|
else
|
{
|
nameText.text = skinConfig.Name;
|
}
|
|
var config = BeautyConfig.Get(mmID);
|
if (skinConfig.UnlockWay == 1)
|
{
|
wayText.text = Language.Get("BeautyMMSkin1", config.Name);
|
}
|
else if (skinConfig.UnlockWay == 2)
|
{
|
var itemConfig = ItemConfig.Get(skinConfig.UnlockValue);
|
if (itemConfig.GetWay.IsNullOrEmpty())
|
{
|
wayText.text = "";
|
}
|
else
|
{
|
wayText.text = GetItemWaysConfig.Get(itemConfig.GetWay[0]).Name;
|
}
|
}
|
|
if (skinConfig.InitAttrValueList.IsNullOrEmpty())
|
{
|
attrTipText.text = "";
|
attrValueText.text = "";
|
}
|
else
|
{
|
if (skinData.State == 0)
|
{
|
attrTipText.text = Language.Get("PhantasmPavilion11");
|
attrValueText.text = UIHelper.AppendColor(TextColType.NavyYellow, PlayerPropertyConfig.GetFullDescription(skinConfig.AttrIDList[0], skinConfig.InitAttrValueList[0]));
|
}
|
else
|
{
|
attrTipText.text = Language.Get("PhantasmPavilion07");
|
var value = skinConfig.InitAttrValueList[0] + skinData.Star * skinConfig.AttrPerStarAddList[0];
|
|
attrValueText.text = UIHelper.AppendColor(TextColType.NavyYellow, PlayerPropertyConfig.GetFullDescription(skinConfig.AttrIDList[0], value)) +
|
Language.Get("PhantasmPavilion12", UIHelper.AppendColor(TextColType.LightGreen, "+" + PlayerPropertyConfig.GetValueDescription(skinConfig.AttrIDList[0], skinConfig.AttrPerStarAddList[0])));
|
}
|
}
|
|
|
|
if (skinData.State == 0)
|
{
|
if (skinConfig.UnlockWay == 2)
|
{
|
unlockBtn.SetActive(true);
|
cntText.text = UIHelper.ShowUseItem(PackType.Item, skinConfig.UnlockValue, skinConfig.UnlockNeedCnt);
|
itemIcon.SetItemSprite(skinConfig.UnlockValue);
|
}
|
else
|
{
|
unlockBtn.SetActive(false);
|
}
|
opObjs.SetActive(false);
|
}
|
else
|
{
|
unlockBtn.SetActive(false);
|
opObjs.SetActive(true);
|
if (skinConfig.StarMax != 0 && skinData.Star < skinConfig.StarMax)
|
{
|
lvUPBtn.SetActive(true);
|
lvUPCntText.text = UIHelper.ShowUseItem(PackType.Item, skinConfig.UnlockValue, skinConfig.UpNeedCnt);
|
lvUPItemIcon.SetItemSprite(skinConfig.UnlockValue);
|
}
|
else
|
{
|
lvUPBtn.SetActive(false);
|
}
|
|
putOnBtn.SetActive(skinData.Used == 0);
|
putOnYetImg.SetActive(skinData.Used == 1);
|
|
}
|
}
|
|
|
void CreateScroller()
|
{
|
clothesScroller.Refresh();
|
var _list = BeautySkinConfig.GetSkinListByMMID(mmID);
|
for (int i = 0; i < _list.Count; i++)
|
{
|
clothesScroller.AddCell(ScrollerDataType.Header, _list[i].SkinID);
|
}
|
clothesScroller.Restart();
|
|
}
|
|
void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell as BeautyMMSkinCell;
|
_cell.Display(mmID, cell.index);
|
}
|
|
void UnLockSkin()
|
{
|
var skinConfig = BeautySkinConfig.Get(BeautyMMManager.Instance.selectSkinID);
|
if (!ItemLogicUtility.CheckItemCount(PackType.Item, skinConfig.UnlockValue, skinConfig.UnlockNeedCnt, 2))
|
{
|
return;
|
}
|
BeautyMMManager.Instance.SendSkinOP(mmID, BeautyMMManager.Instance.selectSkinID, 1);
|
}
|
|
void LvUpSkin()
|
{
|
var skinConfig = BeautySkinConfig.Get(BeautyMMManager.Instance.selectSkinID);
|
if (!ItemLogicUtility.CheckItemCount(PackType.Item, skinConfig.UnlockValue, skinConfig.UpNeedCnt, 2))
|
{
|
return;
|
}
|
BeautyMMManager.Instance.SendSkinOP(mmID, BeautyMMManager.Instance.selectSkinID, 3);
|
}
|
|
void PutOnSkin()
|
{
|
BeautyMMManager.Instance.SendSkinOP(mmID, BeautyMMManager.Instance.selectSkinID, 2);
|
}
|
}
|