//--------------------------------------------------------
|
// [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 m_ItemName;
|
private Slider m_SplitSlider;
|
private Text m_Number;
|
private Button m_AddBtn;
|
private Button m_ReduceBtn;
|
private Button m_SplitBtn;
|
private Button m_CloseBtn;
|
private ItemCell m_ItemCell;
|
#endregion
|
|
ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
|
PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
PlayerBuffDatas Buffmodel { get { return ModelCenter.Instance.GetModel<PlayerBuffDatas>(); } }
|
|
private ItemModel itemModel;
|
#region Built-in
|
protected override void BindController()
|
{
|
m_ItemName = this.transform.Find("ItemNameText").GetComponent<Text>();
|
m_Number = this.transform.Find("SplitSlider/Background/Fill/SplitIcon/NumBG/NumText").GetComponent<Text>();
|
m_SplitSlider = this.transform.Find("SplitSlider").GetComponent<Slider>();
|
m_AddBtn = this.transform.Find("Addbtn").GetComponent<Button>();
|
m_SplitBtn = this.transform.Find("Usebtn").GetComponent<Button>();
|
m_ReduceBtn = this.transform.Find("Reducebtn").GetComponent<Button>();
|
m_CloseBtn = this.transform.Find("Closebtn").GetComponent<Button>();
|
m_ItemCell = this.transform.Find("ItemCell").GetComponent<ItemCell>();
|
}
|
|
protected override void AddListeners()
|
{
|
m_SplitSlider.SetListener((float value) => { OnSplitValueChange(); });
|
m_AddBtn.SetListener(OnClickAddBtn);
|
m_ReduceBtn.SetListener(OnClickReduceBtn);
|
m_SplitBtn.SetListener(OnClickBatchUseBtn);
|
m_CloseBtn.SetListener(OnClickCloseBtn);
|
}
|
|
protected override void OnPreOpen()
|
{
|
OpenBatchWin();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
}
|
|
protected override void OnAfterClose()
|
{
|
WindowCenter.Instance.Open<MainInterfaceWin>();
|
}
|
#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)
|
{
|
playerPack.IsReachUseLimit(itemModel.guid, out maxValue);
|
}
|
else
|
{
|
maxValue = (ulong)BatchUseModel.Instance.maxValue;
|
}
|
|
var cellModel = new ItemCellModel(itemModel.itemId, false, (ulong)maxValue, itemModel.isBind,
|
itemModel.guid, itemModel.packType, false);
|
m_ItemCell.Init(cellModel);
|
m_ItemCell.countText.text = maxValue.ToString();
|
m_ItemName.text = itemModel.config.ItemName;
|
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_Number.text = Mathf.Ceil(m_SplitSlider.value).ToString();
|
}
|
|
public void OnSplitValueChange()
|
{
|
m_Number.text = Mathf.Ceil(m_SplitSlider.value).ToString();
|
}
|
|
public void OnClickAddBtn()
|
{
|
if (m_SplitSlider.value < m_SplitSlider.maxValue)
|
{
|
m_SplitSlider.value++;
|
}
|
}
|
|
public void OnClickReduceBtn()
|
{
|
if (m_SplitSlider.value > m_SplitSlider.minValue)
|
{
|
m_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(m_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(m_SplitSlider.value));
|
}
|
else
|
{
|
ItemOperateUtility.Instance.UseItem(itemModel.itemPlace, (ushort)Mathf.Ceil(m_SplitSlider.value), BatchUseModel.Instance.extraPrams);
|
}
|
|
OnClickCloseBtn();
|
}
|
|
void OnClickCloseBtn()
|
{
|
Close();
|
}
|
|
}
|
|
}
|
|
|
|
|