//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Friday, September 08, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
|
namespace Snxxz.UI
|
{
|
|
public class BatchWin : Window
|
{
|
#region 成员变量
|
private Text _itemName;
|
private Slider _splitSlider;
|
private Text _number;
|
private Button _addBtn;
|
private Button _reduceBtn;
|
private Button _splitBtn;
|
private Button _closeBtn;
|
private ItemCell _itemCell;
|
#endregion
|
|
ItemTipsModel _itemTipsModel;
|
ItemTipsModel itemTipsModel
|
{
|
get
|
{
|
return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
|
}
|
}
|
|
PlayerPackModel _playerPack;
|
PlayerPackModel playerPack
|
{
|
get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); }
|
}
|
|
PlayerBuffDatas _buffModel;
|
PlayerBuffDatas Buffmodel
|
{
|
get
|
{
|
return _buffModel ?? (_buffModel = ModelCenter.Instance.GetModel<PlayerBuffDatas>());
|
}
|
}
|
|
private ItemModel itemModel;
|
#region Built-in
|
protected override void BindController()
|
{
|
_itemName = transform.Find("ItemNameText").GetComponent<Text>();
|
_number = transform.Find("SplitSlider/Background/Fill/SplitIcon/NumBG/NumText").GetComponent<Text>();
|
_splitSlider = transform.Find("SplitSlider").GetComponent<Slider>();
|
_addBtn = transform.Find("Addbtn").GetComponent<Button>();
|
_splitBtn = transform.Find("Usebtn").GetComponent<Button>();
|
_reduceBtn = transform.Find("Reducebtn").GetComponent<Button>();
|
_closeBtn = transform.Find("Closebtn").GetComponent<Button>();
|
_itemCell = transform.Find("ItemCell").GetComponent<ItemCell>();
|
}
|
|
protected override void AddListeners()
|
{
|
_splitSlider.onValueChanged.RemoveAllListeners();
|
_addBtn.onClick.RemoveAllListeners();
|
_reduceBtn.onClick.RemoveAllListeners();
|
_splitBtn.onClick.RemoveAllListeners();
|
_closeBtn.onClick.RemoveAllListeners();
|
|
_splitSlider.onValueChanged.AddListener(
|
|
delegate
|
{
|
OnSplitValueChange();
|
}
|
|
);
|
|
_addBtn.onClick.AddListener(OnClickAddBtn);
|
_reduceBtn.onClick.AddListener(OnClickReduceBtn);
|
_splitBtn.onClick.AddListener(OnClickBatchUseBtn);
|
_closeBtn.onClick.AddListener(OnClickCloseBtn);
|
}
|
|
protected override void OnPreOpen()
|
{
|
//OpenBatchWin(itemInfoModel.CurItemModel);
|
OpenBatchWin();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
#endregion
|
|
private void OpenBatchWin()
|
{
|
itemModel = playerPack.GetItemModelByGUID(BatchUseModel.Instance.guid);
|
if (itemModel == null)
|
return;
|
InitPanel();
|
}
|
|
public void InitPanel()
|
{
|
ulong maxValue = 0;
|
if(BatchUseModel.Instance.maxValue <= 0)
|
{
|
playerPack.IsReachUseLimit(itemModel.guid, out maxValue);
|
}
|
else
|
{
|
maxValue = (ulong)BatchUseModel.Instance.maxValue;
|
}
|
|
ItemCellModel cellModel = new ItemCellModel(itemModel.itemId, false, (ulong)maxValue, itemModel.isBind,
|
itemModel.guid,itemModel.packType, false);
|
_itemCell.Init(cellModel);
|
_itemCell.countText.text = maxValue.ToString();
|
_itemName.text = itemModel.config.ItemName;
|
_splitSlider.minValue = 1;
|
_splitSlider.maxValue = maxValue;
|
if(itemModel.config.BatchUse == 1)
|
{
|
_splitSlider.value = _splitSlider.minValue;
|
}
|
else if(itemModel.config.BatchUse == 2)
|
{
|
_splitSlider.value = _splitSlider.maxValue;
|
}
|
|
_number.text = Mathf.Ceil(_splitSlider.value).ToString();
|
}
|
|
public void OnSplitValueChange()
|
{
|
_number.text = Mathf.Ceil(_splitSlider.value).ToString();
|
}
|
|
public void OnClickAddBtn()
|
{
|
if (_splitSlider.value < _splitSlider.maxValue)
|
{
|
_splitSlider.value++;
|
}
|
}
|
|
public void OnClickReduceBtn()
|
{
|
if (_splitSlider.value > _splitSlider.minValue)
|
{
|
_splitSlider.value--;
|
}
|
}
|
|
public void OnClickBatchUseBtn()
|
{
|
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.itemPlace, (ushort)Mathf.Ceil(_splitSlider.value), BatchUseModel.Instance.extraPrams);
|
}
|
}
|
);
|
|
}
|
else if(itemModel.config.Type == (int)ItemType.Box)
|
{
|
ModelCenter.Instance.GetModel<BoxGetItemModel>().CheckOpenBoxCondi(itemModel.guid,itemModel.itemId, (ushort)Mathf.Ceil(_splitSlider.value));
|
}
|
else
|
{
|
ItemOperateUtility.Instance.UseItem(itemModel.itemPlace, (ushort)Mathf.Ceil(_splitSlider.value), BatchUseModel.Instance.extraPrams);
|
}
|
|
OnClickCloseBtn();
|
}
|
|
public void OnClickCloseBtn()
|
{
|
Close();
|
}
|
|
}
|
|
}
|
|
|
|
|