| | |
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | | using TableConfig; |
| | | using System; |
| | | |
| | | namespace Snxxz.UI |
| | | { |
| | | public class WashAttrPointWin : Window |
| | | { |
| | | [SerializeField] Toggle strenToggle; //力量 |
| | | [SerializeField] Toggle agilityToggle; //身法 |
| | | [SerializeField] Toggle physiqueToggle; //体质 |
| | | [SerializeField] Toggle mentAlityToggle; //灵力 |
| | | [SerializeField] Button closeBtn; |
| | | [SerializeField] Button okBtn; |
| | | [SerializeField] Text washAttrDesText; |
| | | |
| | | PlayerPackModel _playerPack; |
| | | PlayerPackModel playerPack |
| | | { |
| | | get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } |
| | | } |
| | | |
| | | RolePointModel _rolePointModel; |
| | | RolePointModel rolePointModel |
| | | { |
| | | get |
| | | { |
| | | return _rolePointModel ?? (_rolePointModel = ModelCenter.Instance.GetModel<RolePointModel>()); |
| | | } |
| | | } |
| | | |
| | | public static ItemModel itemModel = null; |
| | | private ItemConfig itemConfig = null; |
| | | private AttrEnum selectAttr = AttrEnum.POWER; |
| | | |
| | | float washPoint = 0; |
| | | |
| | | protected override void AddListeners() |
| | | { |
| | | |
| | | } |
| | | |
| | | protected override void BindController() |
| | | { |
| | | |
| | | } |
| | | |
| | | protected override void OnPreOpen() |
| | | { |
| | | washPoint = 0; |
| | | strenToggle.isOn = true; |
| | | agilityToggle.isOn = false; |
| | | physiqueToggle.isOn = false; |
| | | mentAlityToggle.isOn = false; |
| | | strenToggle.onValueChanged.AddListener((bool isOn)=> { OnClickToggle(isOn); }); |
| | | agilityToggle.onValueChanged.AddListener((bool isOn) => { OnClickToggle(isOn); }); |
| | | physiqueToggle.onValueChanged.AddListener((bool isOn) => { OnClickToggle(isOn); }); |
| | | mentAlityToggle.onValueChanged.AddListener((bool isOn) => { OnClickToggle(isOn); }); |
| | | closeBtn.AddListener(CloseWin); |
| | | okBtn.AddListener(ClickSureBtn); |
| | | } |
| | | |
| | | protected override void OnAfterOpen() |
| | | { |
| | | InitUI(); |
| | | |
| | | } |
| | | |
| | | protected override void OnPreClose() |
| | | { |
| | | closeBtn.RemoveAllListeners(); |
| | | strenToggle.RemoveAllListeners(); |
| | | agilityToggle.RemoveAllListeners(); |
| | | physiqueToggle.RemoveAllListeners(); |
| | | mentAlityToggle.RemoveAllListeners(); |
| | | okBtn.RemoveAllListeners(); |
| | | } |
| | | protected override void OnAfterClose() |
| | | { |
| | | |
| | | } |
| | | |
| | | private void InitUI() |
| | | { |
| | | if (itemModel == null) return; |
| | | |
| | | itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(itemModel.itemId); |
| | | SetCurWashAttr(); |
| | | RefreshWashAttrDes(); |
| | | } |
| | | |
| | | private void OnClickToggle(bool isOn) |
| | | { |
| | | SetCurWashAttr(); |
| | | RefreshWashAttrDes(); |
| | | } |
| | | |
| | | private void SetCurWashAttr() |
| | | { |
| | | if (strenToggle.isOn) |
| | | { |
| | | selectAttr = AttrEnum.POWER; |
| | | } |
| | | else if (agilityToggle.isOn) |
| | | { |
| | | selectAttr = AttrEnum.AGILITY; |
| | | } |
| | | else if (physiqueToggle.isOn) |
| | | { |
| | | selectAttr = AttrEnum.PHYSIQUE; |
| | | } |
| | | else if (mentAlityToggle.isOn) |
| | | { |
| | | selectAttr = AttrEnum.MENTALITY; |
| | | } |
| | | } |
| | | |
| | | private void RefreshWashAttrDes() |
| | | { |
| | | float initPoint = rolePointModel.GetPointCreate(PlayerDatas.Instance.baseData.Job)[(int)selectAttr]; |
| | | switch (selectAttr) |
| | | { |
| | | case AttrEnum.POWER: |
| | | washPoint = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataRefresh.BaseSTR) - initPoint; |
| | | break; |
| | | case AttrEnum.AGILITY: |
| | | washPoint = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataRefresh.BasePHY) - initPoint; |
| | | break; |
| | | case AttrEnum.PHYSIQUE: |
| | | washPoint = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataRefresh.BaseCON) - initPoint; |
| | | break; |
| | | case AttrEnum.MENTALITY: |
| | | washPoint = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataRefresh.BasePNE) - initPoint; |
| | | break; |
| | | } |
| | | |
| | | PlayerPropertyConfig propertyConfig = ConfigManager.Instance.GetTemplate<PlayerPropertyConfig>((int)selectAttr); |
| | | washAttrDesText.text = Language.Get("BagWin_Washpoint2", propertyConfig.Name, UIHelper.GetPropertyMapPlayerData(selectAttr), washPoint); |
| | | } |
| | | |
| | | private void ClickSureBtn() |
| | | { |
| | | if (itemConfig == null || itemModel == null) return; |
| | | |
| | | if(washPoint <= 0) |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("WashPoint"); |
| | | } |
| | | else |
| | | { |
| | | int needCnt = (int)washPoint / itemConfig.EffectValueA1; |
| | | int remain = (int)washPoint % itemConfig.EffectValueA1; |
| | | |
| | | if(remain > 0) |
| | | { |
| | | needCnt = needCnt + 1; |
| | | } |
| | | |
| | | if(needCnt > itemModel.itemInfo.ItemCount) |
| | | { |
| | | needCnt = itemModel.itemInfo.ItemCount; |
| | | } |
| | | |
| | | if (itemModel.chinItemModel.BatchUse == 1 && needCnt > 1) |
| | | { |
| | | BatchUseModel.Instance.SetBatchModel(itemModel.itemInfo.ItemGUID); |
| | | BatchUseModel.Instance.SetExtraInfo((int)selectAttr,needCnt); |
| | | WindowCenter.Instance.Open<WashPointBatchUseWin>(); |
| | | } |
| | | else |
| | | { |
| | | PackSendQuestMgr.Instance.SendMakeUseQuest(itemModel.itemInfo.ItemPlace,1,(int)selectAttr); |
| | | } |
| | | |
| | | } |
| | | CloseWin(); |
| | | } |
| | | |
| | | private void CloseWin() |
| | | { |
| | | CloseImmediately(); |
| | | } |
| | | } |
| | | } |
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | | using TableConfig;
|
| | | using System;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | {
|
| | | public class WashAttrPointWin : Window
|
| | | {
|
| | | [SerializeField] Toggle strenToggle; //力量
|
| | | [SerializeField] Toggle agilityToggle; //身法
|
| | | [SerializeField] Toggle physiqueToggle; //体质
|
| | | [SerializeField] Toggle mentAlityToggle; //灵力
|
| | | [SerializeField] Button closeBtn;
|
| | | [SerializeField] Button okBtn;
|
| | | [SerializeField] Text washAttrDesText;
|
| | |
|
| | | PlayerPackModel _playerPack;
|
| | | PlayerPackModel playerPack
|
| | | {
|
| | | get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); }
|
| | | }
|
| | |
|
| | | public static ItemModel itemModel = null;
|
| | | private ItemConfig itemConfig = null;
|
| | | private AttrEnum selectAttr = AttrEnum.POWER;
|
| | |
|
| | | float washPoint = 0;
|
| | |
|
| | | protected override void AddListeners()
|
| | | {
|
| | | |
| | | }
|
| | |
|
| | | protected override void BindController()
|
| | | {
|
| | | |
| | | }
|
| | |
|
| | | protected override void OnPreOpen()
|
| | | {
|
| | | washPoint = 0;
|
| | | strenToggle.isOn = true;
|
| | | agilityToggle.isOn = false;
|
| | | physiqueToggle.isOn = false;
|
| | | mentAlityToggle.isOn = false;
|
| | | strenToggle.onValueChanged.AddListener((bool isOn)=> { OnClickToggle(isOn); });
|
| | | agilityToggle.onValueChanged.AddListener((bool isOn) => { OnClickToggle(isOn); });
|
| | | physiqueToggle.onValueChanged.AddListener((bool isOn) => { OnClickToggle(isOn); });
|
| | | mentAlityToggle.onValueChanged.AddListener((bool isOn) => { OnClickToggle(isOn); });
|
| | | closeBtn.AddListener(CloseWin);
|
| | | okBtn.AddListener(ClickSureBtn);
|
| | | }
|
| | |
|
| | | protected override void OnAfterOpen()
|
| | | {
|
| | | InitUI();
|
| | |
|
| | | }
|
| | |
|
| | | protected override void OnPreClose()
|
| | | {
|
| | | closeBtn.RemoveAllListeners();
|
| | | strenToggle.RemoveAllListeners();
|
| | | agilityToggle.RemoveAllListeners();
|
| | | physiqueToggle.RemoveAllListeners();
|
| | | mentAlityToggle.RemoveAllListeners();
|
| | | okBtn.RemoveAllListeners();
|
| | | }
|
| | | protected override void OnAfterClose()
|
| | | {
|
| | |
|
| | | }
|
| | |
|
| | | private void InitUI()
|
| | | {
|
| | | if (itemModel == null) return;
|
| | |
|
| | | itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(itemModel.itemId);
|
| | | SetCurWashAttr();
|
| | | RefreshWashAttrDes();
|
| | | }
|
| | |
|
| | | private void OnClickToggle(bool isOn)
|
| | | {
|
| | | SetCurWashAttr();
|
| | | RefreshWashAttrDes();
|
| | | }
|
| | |
|
| | | private void SetCurWashAttr()
|
| | | {
|
| | | if (strenToggle.isOn)
|
| | | {
|
| | | selectAttr = AttrEnum.POWER;
|
| | | }
|
| | | else if (agilityToggle.isOn)
|
| | | {
|
| | | selectAttr = AttrEnum.AGILITY;
|
| | | }
|
| | | else if (physiqueToggle.isOn)
|
| | | {
|
| | | selectAttr = AttrEnum.PHYSIQUE;
|
| | | }
|
| | | else if (mentAlityToggle.isOn)
|
| | | {
|
| | | selectAttr = AttrEnum.MENTALITY;
|
| | | }
|
| | | }
|
| | |
|
| | | private void RefreshWashAttrDes()
|
| | | {
|
| | | //float initPoint = rolePointModel.GetPointCreate(PlayerDatas.Instance.baseData.Job)[(int)selectAttr];
|
| | | //switch (selectAttr)
|
| | | //{
|
| | | // case AttrEnum.POWER:
|
| | | // washPoint = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataRefresh.BaseSTR) - initPoint;
|
| | | // break;
|
| | | // case AttrEnum.AGILITY:
|
| | | // washPoint = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataRefresh.BasePHY) - initPoint;
|
| | | // break;
|
| | | // case AttrEnum.PHYSIQUE:
|
| | | // washPoint = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataRefresh.BaseCON) - initPoint;
|
| | | // break;
|
| | | // case AttrEnum.MENTALITY:
|
| | | // washPoint = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataRefresh.BasePNE) - initPoint;
|
| | | // break;
|
| | | //}
|
| | |
|
| | | PlayerPropertyConfig propertyConfig = ConfigManager.Instance.GetTemplate<PlayerPropertyConfig>((int)selectAttr);
|
| | | washAttrDesText.text = Language.Get("BagWin_Washpoint2", propertyConfig.Name, UIHelper.GetPropertyMapPlayerData(selectAttr), washPoint);
|
| | | }
|
| | |
|
| | | private void ClickSureBtn()
|
| | | {
|
| | | if (itemConfig == null || itemModel == null) return;
|
| | |
|
| | | if(washPoint <= 0)
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("WashPoint");
|
| | | }
|
| | | else
|
| | | {
|
| | | int needCnt = (int)washPoint / itemConfig.EffectValueA1;
|
| | | int remain = (int)washPoint % itemConfig.EffectValueA1;
|
| | |
|
| | | if(remain > 0)
|
| | | {
|
| | | needCnt = needCnt + 1;
|
| | | }
|
| | | |
| | | if(needCnt > itemModel.itemInfo.ItemCount)
|
| | | {
|
| | | needCnt = itemModel.itemInfo.ItemCount;
|
| | | }
|
| | |
|
| | | if (itemModel.chinItemModel.BatchUse == 1 && needCnt > 1)
|
| | | {
|
| | | BatchUseModel.Instance.SetBatchModel(itemModel.itemInfo.ItemGUID);
|
| | | BatchUseModel.Instance.SetExtraInfo((int)selectAttr,needCnt);
|
| | | WindowCenter.Instance.Open<WashPointBatchUseWin>();
|
| | | }
|
| | | else
|
| | | {
|
| | | PackSendQuestMgr.Instance.SendMakeUseQuest(itemModel.itemInfo.ItemPlace,1,(int)selectAttr);
|
| | | }
|
| | | |
| | | }
|
| | | CloseWin();
|
| | | }
|
| | |
|
| | | private void CloseWin()
|
| | | {
|
| | | CloseImmediately();
|
| | | }
|
| | | }
|
| | | }
|