//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, November 13, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class DemonJarAutoDoubleSettingWin : Window { [SerializeField] OnOffToggle m_AutoChallenge; [SerializeField] OnOffToggle m_DoubleChallenge; [SerializeField] Button m_ViewLog; [SerializeField] Button m_Close; DemonJarModel model { get { return ModelCenter.Instance.GetModel(); } } VipModel vipModel { get { return ModelCenter.Instance.GetModel(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_AutoChallenge.AddListener(SetAutoChallenge); m_DoubleChallenge.AddListener(SetDoubleChallenge); m_ViewLog.SetListener(ViewLog); m_Close.SetListener(CloseClick); } protected override void OnPreOpen() { DisplayAutoChallenge(); DisplayDoubleChallenge(); } protected override void OnAfterOpen() { model.autoChallengeChangeEvent += DisplayAutoChallenge; model.doubleAwardChangeEvent += DisplayDoubleChallenge; } protected override void OnPreClose() { model.autoChallengeChangeEvent -= DisplayAutoChallenge; model.doubleAwardChangeEvent -= DisplayDoubleChallenge; } protected override void OnAfterClose() { } #endregion private void SetAutoChallenge() { var autoable = vipModel.GetVipPrivilegeCnt(VipPrivilegeType.DemonJarAuto) >= 1; if (autoable) { model.autoChallenge = !model.autoChallenge; } else { var needLevel = vipModel.GetPrivilegeVipLv(VipPrivilegeType.DemonJarAuto, 0); SysNotifyMgr.Instance.ShowTip("DemonJarAutoVip", needLevel); } } private void SetDoubleChallenge() { var candouble = vipModel.GetVipPrivilegeCnt(VipPrivilegeType.DemonJarDouble) >= 1; if (candouble || model.oldDouble) { model.RequestSetDoubleAward(!model.isDoubleAward); } else { var needLevel = vipModel.GetPrivilegeVipLv(VipPrivilegeType.DemonJarDouble, 0); SysNotifyMgr.Instance.ShowTip("DemonJarDoubleVip", needLevel); } } private void ViewLog() { WindowCenter.Instance.Open(); } private void DisplayAutoChallenge() { m_AutoChallenge.isOn = model.autoChallenge; } private void DisplayDoubleChallenge() { m_DoubleChallenge.isOn = model.isDoubleAward; } } }