//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, June 11, 2019 //-------------------------------------------------------- using UnityEngine.UI; using System.Collections.Generic; using UnityEngine; namespace vnxbqy.UI { public class ChangeJobWin : Window { [SerializeField] Button m_Close; [SerializeField] Button starGame; [SerializeField] List jobToggles = new List(); [SerializeField] List jobNames = new List(); [SerializeField] ItemCell itemCell; PackModel packModel { get { return ModelCenter.Instance.GetModel(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_Close.SetListener(CloseClick); starGame.SetListener(ChangeJob); for (int i = 0; i < jobToggles.Count; i++) { int index = i; jobToggles[i].SetListener(()=> { jobToggles[index].isOn = !jobToggles[index].isOn; }); } } int itemID = 0; protected override void OnPreOpen() { jobToggles[0].isOn = true; for (int i = 0; i < jobNames.Count; i++) { jobNames[i].text = RichTextMsgReplaceConfig.GetRichReplace("Job", (i + 1) * 100 + 1); } if (itemID == 0) { itemID = int.Parse(FuncConfigConfig.Get("ChangeJob").Numerical1.Split('|')[0]); } itemCell.Init(new ItemCellModel(itemID, false, 1)); itemCell.button.SetListener(()=> { ItemTipUtility.Show(itemID); }); } #endregion void ChangeJob() { int changeJob = 0; for (int i = 0; i < jobToggles.Count; i++) { if (jobToggles[i].isOn) { changeJob = i + 1; break; } } if (changeJob == 0) return; if (changeJob == PlayerDatas.Instance.baseData.Job) { ScrollTip.ShowTip(Language.Get("ChangeJob5")); return; } var count = packModel.GetItemCountByID(PackType.Item, itemID); if (count == 0) { SysNotifyMgr.Instance.ShowTip("NotEnoughMaterial"); return; } ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("ChangeJob4", RichTextMsgReplaceConfig.GetRichReplace("Job", changeJob * 100 + 1)), (bool isOk) => { if (isOk) { //清理技能设置 for (int i = 0; i < SkillModel.QUICK_SKILL_COUNT; i++) { QuickSetting.Instance.SetQuickSetting(QuickSetting.QuickSettingType.Skill, 0, i); } QuickSetting.Instance.SendPackage(); var pack = new CA121_tagCMChangeJob(); pack.TagJob = (byte)changeJob; GameNetSystem.Instance.SendInfo(pack); } }); } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } } }