| | |
| | | |
| | | public class FastFinishWin : Window |
| | | { |
| | | #region 成员变量 |
| | | [SerializeField] Text m_UseItem; |
| | | [SerializeField] Text m_UseMoney; |
| | | [SerializeField] Slider m_SplitSlider; |
| | |
| | | [SerializeField] Button m_SplitBtn; |
| | | [SerializeField] Button m_CloseBtn; |
| | | [SerializeField] ItemCell m_ItemCell; |
| | | #endregion |
| | | |
| | | PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } } |
| | | BuffModel Buffmodel { get { return ModelCenter.Instance.GetModel<BuffModel>(); } } |
| | | DailyQuestModel dailyModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } } |
| | | |
| | | private ItemModel itemModel; |
| | | int m_itemID = 0; |
| | | int m_Money = 0; |
| | | int hasItemCnt = 0; |
| | | #region Built-in |
| | | protected override void BindController() |
| | | { |
| | | |
| | | var configNum1 = FuncConfigConfig.Get("ActivityPlace").Numerical5; |
| | | var _jsonDataC = LitJson.JsonMapper.ToObject(configNum1); |
| | | m_itemID = int.Parse(_jsonDataC[0].ToString()); |
| | | m_Money = int.Parse(_jsonDataC[1].ToString()); |
| | | } |
| | | |
| | | protected override void AddListeners() |
| | |
| | | m_SplitSlider.SetListener((float value) => { OnSplitValueChange(); }); |
| | | m_AddBtn.SetListener(OnClickAddBtn); |
| | | m_ReduceBtn.SetListener(OnClickReduceBtn); |
| | | m_SplitBtn.SetListener(OnClickBatchUseBtn); |
| | | m_SplitBtn.SetListener(OnUseBtn); |
| | | m_CloseBtn.SetListener(OnClickCloseBtn); |
| | | } |
| | | |
| | | protected override void OnPreOpen() |
| | | { |
| | | OpenBatchWin(); |
| | | |
| | | } |
| | | |
| | | protected override void OnAfterOpen() |
| | | { |
| | | InitPanel(); |
| | | } |
| | | |
| | | protected override void OnPreClose() |
| | | { |
| | | hasItemCnt = 0; |
| | | } |
| | | |
| | | protected override void OnAfterClose() |
| | |
| | | } |
| | | #endregion |
| | | |
| | | private void OpenBatchWin() |
| | | { |
| | | itemModel = playerPack.GetItemByGuid(BatchUseModel.Instance.guid); |
| | | if (itemModel == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | InitPanel(); |
| | | } |
| | | |
| | | void InitPanel() |
| | | { |
| | | ulong maxValue = 0; |
| | | if (BatchUseModel.Instance.maxValue <= 0) |
| | | int maxValue = 0; |
| | | |
| | | hasItemCnt = playerPack.GetItemCountByID(PackType.Item, m_itemID); |
| | | if (hasItemCnt == 0) |
| | | { |
| | | playerPack.IsReachUseLimit(itemModel.guid, out maxValue); |
| | | m_ItemCell.gameObject.SetActive(false); |
| | | m_UseMoney.gameObject.SetActive(true); |
| | | m_UseMoney.text = Language.Get("ActivityPlaceFastFinishMoney", m_Money, 1); |
| | | maxValue = Math.Min(dailyModel.ActivityPlaceInfo.PlaceCount, (int)PlayerDatas.Instance.baseData.bindDiamond / m_Money); |
| | | } |
| | | else |
| | | { |
| | | maxValue = (ulong)BatchUseModel.Instance.maxValue; |
| | | m_ItemCell.gameObject.SetActive(true); |
| | | m_UseMoney.gameObject.SetActive(false); |
| | | maxValue = hasItemCnt; |
| | | var cellModel = new ItemCellModel(m_itemID, true, 1); |
| | | m_ItemCell.Init(cellModel); |
| | | m_ItemCell.button.SetListener(() => |
| | | { |
| | | ItemTipUtility.Show(m_itemID); |
| | | }); |
| | | m_UseItem.text = Language.Get("ActivityPlaceFastFinishItem", 1); |
| | | } |
| | | |
| | | var cellModel = new ItemCellModel(itemModel.itemId, false, (ulong)maxValue, |
| | | itemModel.guid, itemModel.packType, false); |
| | | m_ItemCell.Init(cellModel); |
| | | m_ItemCell.countText.text = maxValue.ToString(); |
| | | |
| | | m_SplitSlider.minValue = 1; |
| | | m_SplitSlider.maxValue = maxValue; |
| | | if (itemModel.config.BatchUse == 1) |
| | | { |
| | | m_SplitSlider.value = m_SplitSlider.minValue; |
| | | } |
| | | else if (itemModel.config.BatchUse == 2) |
| | | { |
| | | m_SplitSlider.value = m_SplitSlider.maxValue; |
| | | } |
| | | m_SplitSlider.value = m_SplitSlider.minValue; |
| | | |
| | | m_Number.text = Mathf.Ceil(m_SplitSlider.value).ToString(); |
| | | } |
| | | |
| | | public void OnSplitValueChange() |
| | | { |
| | | m_Number.text = Mathf.Ceil(m_SplitSlider.value).ToString(); |
| | | int curValue = (int)Mathf.Ceil(m_SplitSlider.value); |
| | | m_Number.text = curValue.ToString(); |
| | | |
| | | if (hasItemCnt == 0) |
| | | { |
| | | m_UseMoney.text = Language.Get("ActivityPlaceFastFinishMoney", m_Money*curValue, curValue); |
| | | } |
| | | else |
| | | { |
| | | m_UseItem.text = Language.Get("ActivityPlaceFastFinishItem", curValue); |
| | | } |
| | | } |
| | | |
| | | public void OnClickAddBtn() |
| | |
| | | } |
| | | } |
| | | |
| | | public void OnClickBatchUseBtn() |
| | | public void OnUseBtn() |
| | | { |
| | | if (itemModel == null) |
| | | return; |
| | | |
| | | //if (Buffmodel.BuffCover(itemModel.itemId)) |
| | | //{ |
| | | // ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("FairyLand_Func22"), (bool isOk) => |
| | | // { |
| | | // if (isOk) |
| | | // { |
| | | // ItemOperateUtility.Instance.UseItem(itemModel.guid, (ushort)Mathf.Ceil(m_SplitSlider.value), BatchUseModel.Instance.extraPrams); |
| | | // } |
| | | // } |
| | | // ); |
| | | |
| | | //} |
| | | if (itemModel.config.Type == (int)ItemType.Box) |
| | | { |
| | | ModelCenter.Instance.GetModel<BoxGetItemModel>().CheckOpenBoxCondi(itemModel.guid, itemModel.itemId, (ushort)Mathf.Ceil(m_SplitSlider.value)); |
| | | } |
| | | else |
| | | { |
| | | ItemOperateUtility.Instance.UseItem(itemModel.guid, (ushort)Mathf.Ceil(m_SplitSlider.value), BatchUseModel.Instance.extraPrams); |
| | | } |
| | | CB028_tagCMActivityPlaceQuickFinish fastFinish = new CB028_tagCMActivityPlaceQuickFinish(); |
| | | fastFinish.FinishCount = (byte)Mathf.Ceil(m_SplitSlider.value); |
| | | GameNetSystem.Instance.SendInfo(fastFinish); |
| | | |
| | | OnClickCloseBtn(); |
| | | } |