//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, November 13, 2017
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
|
using System.Collections.Generic;
|
//红包点击赋值
|
namespace vnxbqy.UI {
|
|
public class RedBagScripts:MonoBehaviour {
|
|
[SerializeField] GameObject m_NullObj;
|
[SerializeField] GameObject m_open;//可开
|
[SerializeField] Text m_PlayerName2;//玩家名
|
|
[SerializeField] Text m_TextMatter;//红包来源
|
|
[SerializeField] GameObject m_OpenImg;//红包圆钮图标
|
[SerializeField] GameObject m_State;//开
|
[SerializeField] GameObject m_SendOut;//发
|
|
[SerializeField] GameObject m_BroughtOut;//领完了
|
[SerializeField] GameObject m_HasBrought;//已领
|
[SerializeField] GameObject m_RedBagObj;//红包
|
|
[SerializeField] GameObject m_ViewText;
|
public GameObject RedBag
|
{
|
get { return m_RedBagObj; }
|
set { m_RedBagObj = value; }
|
}
|
[SerializeField] Button RedBagBtn;//红包
|
|
RedPacketModel m_RedPacket;
|
RedPacketModel redPacket { get { return m_RedPacket ?? (m_RedPacket = ModelCenter.Instance.GetModel<RedPacketModel>()); } }
|
public void RedPacket(int State ,int redPackeIndex)//关于红包类型
|
{
|
m_NullObj.SetActive(false);
|
m_open.SetActive(false);
|
m_OpenImg.SetActive(false);
|
m_State.SetActive(false);
|
m_SendOut.SetActive(false);
|
m_BroughtOut.SetActive(false);
|
m_HasBrought.SetActive(false);
|
Image OpenImg = m_OpenImg.GetComponent<Image>();
|
Image SendOut = m_SendOut.GetComponent<Image>();
|
OpenImg.color =new Color32(255,255,255,255);
|
if (redPacket._DicRedBag[redPackeIndex].GetWay == 0 && redPacket._DicRedBag[redPackeIndex].Wish != null)
|
{
|
m_TextMatter.text = redPacket._DicRedBag[redPackeIndex].Wish;
|
}
|
else
|
{
|
m_TextMatter.text = RedEnvelopeContent(redPacket._DicRedBag[redPackeIndex].GetWay);
|
}
|
|
var redpackInfo = redPacket._DicRedBag[redPackeIndex];
|
|
switch (State)
|
{
|
case 0://未发放
|
m_ViewText.SetActive(false);
|
m_NullObj.SetActive(true);
|
m_OpenImg.SetActive(true);
|
m_SendOut.SetActive(true);
|
|
if ((int)PlayerDatas.Instance.baseData.PlayerID == redPacket._DicRedBag[redPackeIndex].PlayerID)
|
{
|
SendOut.color= new Color32(255, 255, 255,255);
|
RedBagBtn.RemoveAllListeners();
|
RedBagBtn.AddListener(() =>
|
{
|
redPacket.RedBagId = redPacket._DicRedBag[redPackeIndex].RedPacketID;
|
WindowCenter.Instance.Open<GiveRedBagTipsWin>();//打开发放红包界面
|
});
|
}
|
else
|
{
|
OpenImg.color = new Color32(180,115,115,255);
|
SendOut.color = new Color32(180, 115, 115,255);
|
RedBagBtn.RemoveAllListeners();
|
RedBagBtn.AddListener(() =>
|
{
|
SysNotifyMgr.Instance.ShowTip("FairyRedBag");//信息提示
|
});
|
}
|
break;
|
case 1://可领取
|
m_ViewText.SetActive(false);
|
m_NullObj.SetActive(true);
|
m_open.SetActive(true);
|
m_PlayerName2.text = redPacket._DicRedBag[redPackeIndex].Name;
|
m_OpenImg.SetActive(true);
|
m_State.SetActive(true);
|
RedBagBtn.RemoveAllListeners();
|
RedBagBtn.AddListener(() =>
|
{
|
redPacket.RedBagId = redPacket._DicRedBag[redPackeIndex].RedPacketID;
|
//WindowCenter.Instance.Open<RedpackOpenWin>();//打开领取界面
|
OpenButton(redPacket.RedBagId);
|
});
|
break;
|
case 2://已领取
|
m_ViewText.SetActive(true);
|
m_open.SetActive(true);
|
m_PlayerName2.text = redPacket._DicRedBag[redPackeIndex].Name;
|
m_HasBrought.SetActive(true);
|
RedBagBtn.RemoveAllListeners();
|
RedBagBtn.AddListener(()=>
|
{
|
redPacket.RedBagId = redPacket._DicRedBag[redPackeIndex].RedPacketID;
|
RedPacketInquire(redPacket.RedBagId, redpackInfo.GetWay);
|
});
|
break;
|
case 3://红包派完了
|
m_ViewText.SetActive(true);
|
m_open.SetActive(true);
|
m_PlayerName2.text = redPacket._DicRedBag[redPackeIndex].Name;
|
m_BroughtOut.SetActive(true);
|
RedBagBtn.RemoveAllListeners();
|
RedBagBtn.AddListener(() =>
|
{
|
redPacket.RedBagId = redPacket._DicRedBag[redPackeIndex].RedPacketID;
|
RedPacketInquire(redPacket.RedBagId, redpackInfo.GetWay);
|
});
|
break;
|
default:
|
break;
|
}
|
}
|
|
void OpenButton(int redpackServerId)
|
{
|
if (!redPacket._DicRedBag.ContainsKey(redpackServerId))
|
{
|
return;
|
}
|
var redpack = redPacket._DicRedBag[redpackServerId];
|
switch (redpack.GetWay)
|
{
|
case 5:
|
var OSRedModel = ModelCenter.Instance.GetModel<OSRedEnvelopeModel>();
|
if (redpack.PlayerID != PlayerDatas.Instance.PlayerId
|
&& OSRedModel.getEnvelopeTimes <= 0)
|
{
|
SysNotifyMgr.Instance.ShowTip("OpenRedBag4");
|
return;
|
}
|
break;
|
case FestivalRedpackModel.FESTIVALTASKREDPACKTYPE:
|
var festivalRedpackModel = ModelCenter.Instance.GetModel<FestivalRedpackModel>();
|
if (redpack.PlayerID != PlayerDatas.Instance.PlayerId
|
&& festivalRedpackModel.grabRedpackTimes <= 0)
|
{
|
SysNotifyMgr.Instance.ShowTip("OpenRedBag4");
|
return;
|
}
|
break;
|
}
|
CAB12_tagCMGrabFamilyRedPacket _pak = new CAB12_tagCMGrabFamilyRedPacket();
|
_pak.RedPaketID = (uint)redpackServerId;
|
_pak.GetWay = (byte)redpack.GetWay;
|
GameNetSystem.Instance.SendInfo(_pak);
|
}
|
|
|
List<RedPackConfig> redpack = new List<RedPackConfig>();
|
string RedEnvelopeContent(int _getWay)//红包显示内容
|
{
|
string _str = null;
|
if (_getWay == 0)
|
{
|
_str = Language.Get("AnswerThree_Z");
|
return _str;
|
}
|
if (redpack.Count <= 0)
|
{
|
redpack = RedPackConfig.GetValues();
|
}
|
// var redpack = RedPackConfig.GetValues();
|
foreach (var value in redpack)
|
{
|
if (value.RedEnvelopeType == _getWay)
|
{
|
_str = value.content;
|
return _str;
|
}
|
}
|
return _str;
|
}
|
|
private void RedPacketInquire(int redbagID, int getWay)//红包查询
|
{
|
ModelCenter.Instance.GetModel<RedEnvelopeModel>().cacheEnvelopeId = redbagID;
|
CAB12_tagCMGrabFamilyRedPacket pack = new CAB12_tagCMGrabFamilyRedPacket();
|
pack.RedPaketID = (uint)redbagID;
|
pack.GetWay = (byte)getWay;
|
GameNetSystem.Instance.SendInfo(pack);
|
}
|
}
|
|
}
|
|
|
|