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()); } } 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); } } }