using Snxxz.UI;
|
using System.Collections.Generic;
|
using System.Linq;
|
using TableConfig;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
public class DandrugCell : MonoBehaviour
|
{
|
[SerializeField] public Button cellToggle;
|
[SerializeField] public Text nameText;
|
[SerializeField] public Text lockText;
|
[SerializeField] public Image danIcon;
|
[SerializeField] public Image danBgIcon;
|
[SerializeField] public GameObject unSelectImg;
|
[SerializeField] public GameObject selectImg;
|
[SerializeField] public RedpointBehaviour Redpoint;
|
[SerializeField] GameObject achieveReach;
|
[SerializeField] Text achieveReachText;
|
BlastFurnaceModel _furnaceModel;
|
BlastFurnaceModel FurnaceModel
|
{
|
get
|
{
|
return _furnaceModel ?? (_furnaceModel = ModelCenter.Instance.GetModel<BlastFurnaceModel>());
|
}
|
}
|
|
PlayerPackModel _playerPack;
|
PlayerPackModel playerPack
|
{
|
get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); }
|
}
|
|
public void SetDisplayModel(int index,int selectIndex)
|
{
|
AlchemyConfig alchemyModel = FurnaceModel.alchemyModellist[index];
|
Redpoint.redpointId = FurnaceModel.danDrugRedPointlist[index].id;
|
danIcon.SetSprite(alchemyModel.ICONID);
|
danBgIcon.SetItemBackGround(alchemyModel.AlchemyQuality);
|
nameText.text = alchemyModel.AlchemName;
|
if (FurnaceModel.StoveLV < alchemyModel.BlastFurnaceLV)
|
{
|
lockText.gameObject.SetActive(true);
|
lockText.text = Language.Get("BlastFurnace104", alchemyModel.BlastFurnaceLV);
|
}
|
else
|
{
|
lockText.gameObject.SetActive(false);
|
}
|
|
if (index == selectIndex)
|
{
|
unSelectImg.SetActive(false);
|
selectImg.SetActive(true);
|
}
|
else
|
{
|
unSelectImg.SetActive(true);
|
selectImg.SetActive(false);
|
}
|
|
List<int> previewDanlist = FurnaceModel.GetPreviewMakeDruglist(alchemyModel).Keys.ToList();
|
bool isReach = true;
|
for(int i = 0; i < previewDanlist.Count; i++)
|
{
|
if(playerPack.CheckIsDrugById(previewDanlist[i]))
|
{
|
AttrFruitConfig fruitConfig = Config.Instance.Get<AttrFruitConfig>(previewDanlist[i]);
|
if(!playerPack.IsReachMaxUseDrug(fruitConfig))
|
{
|
isReach = false;
|
break;
|
}
|
}
|
}
|
|
int alchemyLv = alchemyModel.AlchemyID % 10;
|
if(isReach)
|
{
|
achieveReachText.text = Language.Get("BlastFurnace116",Language.Get(StringUtility.Contact("Num_CHS_", alchemyLv)));
|
achieveReach.SetActive(true);
|
}
|
else
|
{
|
achieveReach.SetActive(false);
|
}
|
}
|
|
}
|