using Snxxz.UI;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
|
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 GameObject progressObj;
|
[SerializeField] public Text progressValue;
|
[SerializeField] public RedpointBehaviour Redpoint;
|
[SerializeField] GameObject achieveReach;
|
[SerializeField] Text achieveReachText;
|
BlastFurnaceModel _furnaceModel;
|
BlastFurnaceModel FurnaceModel
|
{
|
get
|
{
|
return _furnaceModel ?? (_furnaceModel = ModelCenter.Instance.GetModel<BlastFurnaceModel>());
|
}
|
}
|
|
PackModel _playerPack;
|
PackModel playerPack
|
{
|
get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PackModel>()); }
|
}
|
|
Color32 colorBlack = new Color32(64,28,6,255);
|
|
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);
|
progressObj.SetActive(false);
|
}
|
else
|
{
|
progressObj.SetActive(true);
|
lockText.gameObject.SetActive(false);
|
float progress = (float)Math.Round(playerPack.GetAlchemyProgress(alchemyModel), 2);
|
if(progress > 0)
|
{
|
progressValue.text = UIHelper.AppendStringColor(TextColType.Green, StringUtility.Contact(progress, "%"));
|
}
|
else
|
{
|
progressValue.text = StringUtility.Contact(progress, "%");
|
progressValue.color = colorBlack;
|
}
|
}
|
|
if (index == selectIndex)
|
{
|
unSelectImg.SetActive(false);
|
selectImg.SetActive(true);
|
}
|
else
|
{
|
unSelectImg.SetActive(true);
|
selectImg.SetActive(false);
|
}
|
bool isReach = FurnaceModel.IsHaveReachFull(alchemyModel);
|
int alchemyLv = alchemyModel.AlchemyID % 10;
|
if(isReach)
|
{
|
progressObj.SetActive(false);
|
achieveReachText.text = Language.Get("BlastFurnace116",Language.Get(StringUtility.Contact("Num_CHS_", alchemyLv)));
|
achieveReach.SetActive(true);
|
}
|
else
|
{
|
achieveReach.SetActive(false);
|
}
|
}
|
|
}
|