using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class AlchemyStudyBehaviour : MonoBehaviour { [SerializeField] ItemBehaviour m_Item; [SerializeField] Text m_StoveCondition; [SerializeField] Text m_ReikiPointCondition; [SerializeField] Button m_Func; [SerializeField] Text m_FuncLabel; AlchemyModel model { get { return ModelCenter.Instance.GetModel(); } } PackModel packModel { get { return ModelCenter.Instance.GetModel(); } } ReikiRootModel reikiRootModel { get { return ModelCenter.Instance.GetModel(); } } private void Awake() { m_Func.SetListener(Learn); } public void Display() { DisplayItem(); DisplayStoveCondition(); DisplayPropertyCondition(); DisplayFuncState(); } void DisplayItem() { var config = AlchemyConfig.Get(model.selectAlchemy); m_Item.SetItem(config.LearnNeedItemID, 1); } void DisplayStoveCondition() { var config = AlchemyConfig.Get(model.selectAlchemy); m_StoveCondition.SetActive(config.LearnNeedAlchemLV > 0); if (config.LearnNeedAlchemLV > 0) { var satisfy = model.stoveLevel >= config.LearnNeedAlchemLV; m_StoveCondition.text = Language.Get("AlchemyCondition_1", config.LearnNeedAlchemLV); m_StoveCondition.color = UIHelper.GetUIColor(satisfy ? TextColType.Green : TextColType.Red, true); } } void DisplayPropertyCondition() { var config = AlchemyConfig.Get(model.selectAlchemy); m_ReikiPointCondition.SetActive(config.LearnNeedLuck > 0); if (config.LearnNeedLuck > 0) { var satisfy = reikiRootModel.GetReikiRootTotalPointWithFree() >= config.LearnNeedLuck; m_ReikiPointCondition.text = Language.Get("AlchemyCondition_2", config.LearnNeedLuck); m_ReikiPointCondition.color = UIHelper.GetUIColor(satisfy ? TextColType.Green : TextColType.Red, true); } } void DisplayFuncState() { var error = 0; var satisfyLearn = model.TryLearn(model.selectAlchemy, out error); m_Func.SetColorful(m_FuncLabel, satisfyLearn); } private void Learn() { var error = 0; if (model.TryLearn(model.selectAlchemy, out error)) { var pak = new CA576_tagCMPlayerRefine(); pak.AlchemyID = (uint)model.selectAlchemy; pak.DoType = 0; GameNetSystem.Instance.SendInfo(pak); } else { DisplayErrorTip(error); } } void DisplayErrorTip(int error) { switch (error) { case 1: var config = AlchemyConfig.Get(model.selectAlchemy); ItemTipUtility.Show(config.LearnNeedItemID); //SysNotifyMgr.Instance.ShowTip("AlchemyLearnError_1"); break; case 2: SysNotifyMgr.Instance.ShowTip("AlchemyLearnError_2"); break; case 3: SysNotifyMgr.Instance.ShowTip("AlchemyLearnError_3"); break; } } public void Dispose() { } } }