using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
//红包 发放
|
namespace vnxbqy.UI
|
{
|
|
public class GiveRedBagTipsWin : Window
|
{
|
|
[SerializeField] Button _CloseBtn;//页面关闭按钮
|
[SerializeField] Text _MaxMoneyText;//当日可发额度
|
[SerializeField] Text _DotText1;//红包金额
|
[SerializeField] Button _AddsButton1;//红包金额增加按钮
|
[SerializeField] Button _MinusButton1;//红包金额减少按钮
|
[SerializeField] Text _DotText2;//红包数量
|
[SerializeField] Button _AddsButton2;//红包数量增加按钮
|
[SerializeField] Button _MinusButton2;//红包数量减少按钮
|
[SerializeField] InputField _InputField;//输入框
|
[SerializeField] Image _MoneyBG;//金币类型(绑玉)
|
[SerializeField] Image _MoneyBG1;//金币类型(仙玉)
|
[SerializeField] Text _CountText;//金钱数额
|
[SerializeField] Button _GiveBtn;//点击红包发送
|
|
|
[SerializeField] Button m_NumKeyboardMoneyBtnBGM;//面板1
|
[SerializeField] Button m_NumKeyboardNumberBtnBGM;//面板2
|
[SerializeField] NumKeyBoard m_NumKeyboardMoney;//选择钱数
|
[SerializeField] NumKeyBoard NumKeyboardNumber;//选择人数
|
[SerializeField] Button m_DotImg1;//红包金额按钮
|
[SerializeField] Button m_DotImg2;//红包数量按钮
|
private int _BonusAmount = 0;//红包金额数值
|
private int _NumberNumerical = 0;//数量数值
|
private string _content = null;
|
|
private int minRedpackCount = 10;
|
|
// private int _Number = 0;//用来获取仙盟的人数
|
private int _RedLines = 0;//红包额度
|
RedPacketModel m_RedPacket;
|
RedPacketModel redPacket { get { return m_RedPacket ?? (m_RedPacket = ModelCenter.Instance.GetModel<RedPacketModel>()); } }
|
|
protected override void BindController()
|
{
|
_RedLines = int.Parse(FuncConfigConfig.Get("FamilyRedPacketGoldLimit").Numerical1);
|
}
|
|
protected override void AddListeners()
|
{
|
_InputField.characterLimit = 9;
|
_CloseBtn.onClick.AddListener(CloseButton);
|
_AddsButton1.onClick.AddListener(AddsButton1);
|
_MinusButton1.onClick.AddListener(MinusButton1);
|
_AddsButton2.onClick.AddListener(AddsButton2);
|
_MinusButton2.onClick.AddListener(MinusButton2);
|
_GiveBtn.onClick.AddListener(GiveButton);
|
m_DotImg1.AddListener(DotImg1Button);
|
m_DotImg2.AddListener(DotImg2Button);
|
|
m_NumKeyboardMoneyBtnBGM.AddListener(()=> { m_NumKeyboardMoneyBtnBGM.SetActive(false); });
|
m_NumKeyboardNumberBtnBGM.AddListener(()=> { m_NumKeyboardNumberBtnBGM.SetActive(false); });
|
|
m_NumKeyboardMoney.onValueChange.AddListener(NumKeyboardMoneyChange);
|
m_NumKeyboardMoney.onConfirm.AddListener(onConfirmMoney);
|
|
NumKeyboardNumber.onValueChange.AddListener(NumKeyboardNumberChange);
|
NumKeyboardNumber.onConfirm.AddListener(onConfirmNumber);
|
}
|
|
private void onConfirmNumber(bool _bool)
|
{
|
if (_bool)
|
{
|
m_NumKeyboardNumberBtnBGM.SetActive(false);
|
}
|
}
|
|
private void NumKeyboardNumberChange()
|
{
|
if (int.Parse(NumKeyboardNumber.Value) <= (int)PlayerDatas.Instance.fairyData.fairy.MemberCount)
|
{
|
if (!RedBagTipsWin._RedBagTipsWin._RedBool && int.Parse(NumKeyboardNumber.Value) <= minRedpackCount)
|
{
|
NumKeyboardNumber.Value = minRedpackCount.ToString();
|
_NumberNumerical = minRedpackCount;//仙盟红包至少10包
|
}
|
else
|
{
|
if (int.Parse(NumKeyboardNumber.Value) <= 0)
|
{
|
NumKeyboardNumber.Value = 1.ToString();
|
}
|
|
_NumberNumerical = int.Parse(NumKeyboardNumber.Value);
|
}
|
_DotText2.text = _NumberNumerical.ToString();
|
}
|
else
|
{
|
if (!RedBagTipsWin._RedBagTipsWin._RedBool)
|
{
|
if (PlayerDatas.Instance.fairyData.fairy.MemberCount <= minRedpackCount)
|
{
|
NumKeyboardNumber.Value = minRedpackCount.ToString();
|
}
|
else
|
{
|
NumKeyboardNumber.Value = PlayerDatas.Instance.fairyData.fairy.MemberCount.ToString();
|
}
|
}
|
else
|
{
|
NumKeyboardNumber.Value = PlayerDatas.Instance.fairyData.fairy.MemberCount.ToString();
|
}
|
_NumberNumerical = int.Parse(NumKeyboardNumber.Value);
|
ScrollTip.ShowTip(Language.Get("Z1034"));
|
_DotText2.text = _NumberNumerical.ToString();
|
}
|
|
|
if (_NumberNumerical > _BonusAmount)
|
{
|
_BonusAmount = _NumberNumerical;
|
_DotText1.text = _BonusAmount.ToString();
|
_CountText.text = _BonusAmount.ToString();
|
}
|
}
|
|
private void onConfirmMoney(bool _bool)
|
{
|
if (_bool)
|
{
|
m_NumKeyboardMoneyBtnBGM.SetActive(false);
|
}
|
}
|
|
private void NumKeyboardMoneyChange()
|
{
|
if (int.Parse(m_NumKeyboardMoney.Value) <= _RedLines)
|
{
|
if (int.Parse(m_NumKeyboardMoney.Value) <= 0)
|
{
|
m_NumKeyboardMoney.Value = 1.ToString();
|
}
|
_BonusAmount = int.Parse(m_NumKeyboardMoney.Value);
|
_DotText1.text = _BonusAmount.ToString();
|
_CountText.text = _BonusAmount.ToString();
|
}
|
else
|
{
|
m_NumKeyboardMoney.Value = _RedLines.ToString();
|
ScrollTip.ShowTip(Language.Get("RedEnvelopeReleaseLimit_Z"));
|
|
}
|
|
}
|
|
protected override void OnPreOpen()
|
{
|
redPacket.RedEnvelopeID = 0;
|
m_NumKeyboardMoneyBtnBGM.SetActive(false);
|
m_NumKeyboardNumberBtnBGM.SetActive(false);
|
_content = Language.Get("Z1057");
|
_MaxMoneyText.SetActive(false);
|
_BonusAmount = 0;
|
_DotText1.text = _BonusAmount.ToString();
|
_NumberNumerical = 0;
|
_DotText2.text = _NumberNumerical.ToString();
|
_CountText.text = _BonusAmount.ToString();
|
_InputField.text = Language.Get("RedBag_3");
|
//_Number = (int)PlayerDatas.Instance.fairyData.fairy.MemberCount;//获取当前仙盟的人数
|
RedEnvelopeTypeInitial();//红包类型初始
|
}
|
|
protected override void OnAfterOpen()
|
{
|
if (RedBagTipsWin._RedBagTipsWin._RedBool)
|
{
|
_MoneyBG.SetActive(true);
|
_MoneyBG1.SetActive(false);
|
}
|
else
|
{
|
_MoneyBG.SetActive(true);
|
_MoneyBG1.SetActive(false);
|
}
|
}
|
|
protected override void OnPreClose()
|
{
|
|
}
|
|
protected override void OnAfterClose()
|
{
|
RedBagTipsWin._RedBagTipsWin._RedBool = false;
|
|
}
|
|
|
void RedEnvelopeTypeInitial()//红包类型初始
|
{
|
if (RedBagTipsWin._RedBagTipsWin._RedBool)//仙盟发红包
|
{//V6封包
|
_MaxMoneyText.SetActive(true);
|
_BonusAmount = 1;
|
_NumberNumerical = 1;
|
_MaxMoneyText.text = string.Format(Language.Get("RedPacket_limit"), redPacket.UseLimit, _RedLines);
|
_DotText1.text = _BonusAmount.ToString();
|
_CountText.text = _BonusAmount.ToString();
|
_DotText2.text = _NumberNumerical.ToString();
|
}
|
else
|
{
|
var getWay = redPacket._DicRedBag[redPacket.RedBagId].GetWay;
|
var configs = RedPackConfig.GetValues();
|
foreach (var config in configs)
|
{
|
if (config.RedEnvelopeType == getWay)
|
{
|
minRedpackCount = config.PacketCnt;
|
}
|
}
|
|
_BonusAmount = redPacket._DicRedBag[redPacket.RedBagId].MoneyNum;
|
_DotText1.text = _BonusAmount.ToString();
|
_CountText.text = _BonusAmount.ToString();
|
if ((int)PlayerDatas.Instance.fairyData.fairy.MemberCount <= minRedpackCount)
|
{
|
_NumberNumerical = minRedpackCount;//仙盟红包至少10包
|
_DotText2.text = _NumberNumerical.ToString();
|
}
|
else
|
{
|
_NumberNumerical = minRedpackCount;
|
_DotText2.text = _NumberNumerical.ToString();
|
}
|
}
|
}
|
|
void CloseButton()//关闭按钮
|
{
|
Close();
|
RedBagTipsWin._RedBagTipsWin._RedBool = false;
|
}
|
|
void GiveButton()//发送红包按钮
|
{
|
if (_InputField.text.Length != 0)
|
{
|
if (!DirtyWordConfig.IsDirtWord(_InputField.text))
|
{
|
_content = _InputField.text;
|
}
|
else
|
{
|
ScrollTip.ShowTip(Language.Get("ImproperWords_Z"));
|
return;
|
}
|
}
|
RedEnvelopeType();//红包类型
|
redPacket.RedEnvelopeID = redPacket.RedBagId;
|
Close();
|
}
|
|
void RedEnvelopeType()//红包类型
|
{
|
CA608_tagCMSendFamilyRedPacket _CA608 = new CA608_tagCMSendFamilyRedPacket();
|
if (RedBagTipsWin._RedBagTipsWin._RedBool)
|
{
|
if (_BonusAmount > (int)UIHelper.GetMoneyCnt(1))
|
{
|
ScrollTip.ShowTip(Language.Get("EquipWash105"));
|
return;
|
}
|
if (_BonusAmount > _RedLines - redPacket.UseLimit)
|
{
|
ScrollTip.ShowTip(Language.Get("ExceedingRedEnvelope_Z"));
|
return;
|
}
|
|
_CA608.MoneyNum = (ushort)_BonusAmount;
|
_CA608.PacketCnt = (ushort)_NumberNumerical;
|
_CA608.Wish = _content;
|
GameNetSystem.Instance.SendInfo(_CA608);
|
}
|
else
|
{
|
int _redBagId = redPacket.RedBagId;
|
_CA608.RedPacketID = (uint)_redBagId;
|
_CA608.PacketCnt = (ushort)_NumberNumerical;
|
_CA608.Wish = _content;
|
GameNetSystem.Instance.SendInfo(_CA608);
|
}
|
|
}
|
|
void AddsButton1()//红包金额增加按钮
|
{
|
if (RedBagTipsWin._RedBagTipsWin._RedBool)
|
{
|
if (_BonusAmount >= 999)
|
{
|
ScrollTip.ShowTip(Language.Get("RedEnvelopeReleaseLimit_Z"));
|
return;
|
}
|
else
|
{
|
_BonusAmount += 1;
|
_DotText1.text = _BonusAmount.ToString();
|
_CountText.text = _BonusAmount.ToString();
|
}
|
}
|
else
|
{
|
return;
|
}
|
}
|
void MinusButton1()//红包金额减少按钮
|
{
|
if (RedBagTipsWin._RedBagTipsWin._RedBool)
|
{
|
if (_BonusAmount <= 1)
|
{
|
return;
|
}
|
else
|
{
|
_BonusAmount -= 1;
|
_DotText1.text = _BonusAmount.ToString();
|
_CountText.text = _BonusAmount.ToString();
|
if (_BonusAmount < _NumberNumerical)
|
{
|
_NumberNumerical -= 1;
|
_DotText2.text = _NumberNumerical.ToString();
|
}
|
}
|
}
|
else
|
{
|
return;
|
}
|
}
|
|
|
void AddsButton2()//红包数量增加按钮
|
{
|
if (_NumberNumerical >= (int)PlayerDatas.Instance.fairyData.fairy.MemberCount)
|
{
|
return;
|
}
|
_NumberNumerical += 1;
|
_DotText2.text = _NumberNumerical.ToString();
|
if (_NumberNumerical > _BonusAmount)
|
{
|
_BonusAmount += 1;
|
_DotText1.text = _BonusAmount.ToString();
|
_CountText.text = _BonusAmount.ToString();
|
}
|
}
|
|
void MinusButton2()//红包数量减少按钮
|
{
|
if (RedBagTipsWin._RedBagTipsWin._RedBool)
|
{
|
if (_NumberNumerical <= 1)
|
return;
|
_NumberNumerical -= 1;
|
_DotText2.text = _NumberNumerical.ToString();
|
}
|
else
|
{
|
if (_NumberNumerical <= minRedpackCount)
|
return;
|
_NumberNumerical -= 1;
|
_DotText2.text = _NumberNumerical.ToString();
|
}
|
}
|
|
private void DotImg1Button()
|
{
|
if (RedBagTipsWin._RedBagTipsWin._RedBool)
|
{
|
m_NumKeyboardMoneyBtnBGM.SetActive(true);
|
}
|
|
}
|
private void DotImg2Button()
|
{
|
m_NumKeyboardNumberBtnBGM.SetActive(true);
|
}
|
}
|
}
|