using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using GCGame.Table; using Games.GlobeDefine; // 福利大厅-离线经验 // 字典 // 44072 - 可领高倍提示 // 44073 - 点击未开启项提示 // ????? - 离线经验为0,不可领取奖励提示 public class WelfareOffLineExpCtr : WelfarePageBaseCS { private static WelfareOffLineExpCtr instance; public static WelfareOffLineExpCtr Instance { get { return instance; } } private void Awake() { if(instance == null) { instance = this; } } public override void OnPacketRec(NodePageInfoRet packet) { _NodeId = packet._NodeId; _Packet = packet; ShowInfo(); } private void ShowInfo() { if(_Packet == null) { return; } if(_Packet._NodeDescList.Count > 0) { _DescLists[0].gameObject.SetActive(true); _DescLists[0].text = StrDictionary.GetServerDictionaryFormatString(_Packet._NodeDescList[0]); } else { _DescLists[0].gameObject.SetActive(false); } _SubNodeContainer.InitContentItem(_Packet._SubNodeList); } // 领取离线奖励 public void OnTagGetBtnClick(int tagIndex) { if(_Packet == null || tagIndex >= _Packet._SubNodeList.Count) { return; } int betterAwardIndex = -1; for(int i = _Packet._SubNodeList.Count - 1; i > tagIndex; --i) { if(_Packet._SubNodeList[i]._SubNodeState == 1) { betterAwardIndex = i; break; } } int resultTagIndex = betterAwardIndex == -1 ? tagIndex : betterAwardIndex; string rawStr_Type = _Packet._SubNodeList[resultTagIndex]._SubNodeDescList[0]; string rawStr_Lv = _Packet._SubNodeList[resultTagIndex]._SubNodeDescList[1]; int privilegeLv = Convert.ToInt32(rawStr_Lv.Substring(rawStr_Lv.IndexOf("*") + 1)); string rawStr_Multiple = _Packet._SubNodeList[resultTagIndex]._SubNodeDescList[2]; int privilegeMultiple = Convert.ToInt32(rawStr_Multiple.Substring(rawStr_Multiple.IndexOf("*") + 1)); // 存在更好的奖品,弹出提示框,并不允许领取该档位奖品 if (betterAwardIndex != -1) { string result = StrDictionary.GetClientDictionaryString("#{44072}", privilegeLv, privilegeMultiple); MessageBoxLogic.OpenOKBox(result, null, null); } // 不存在更好的奖品 else { // 可领取 if(_Packet._SubNodeList[tagIndex]._SubNodeState == 1) { ReqGetWelfareRew req = new ReqGetWelfareRew(); req._NodeId = _Packet._NodeId; req._SubNodeId = tagIndex; req.SendMsg(); } // 不可领取,给出升级vip提示 else { // 先判断是否可以有经验可领取 string rawStr_Exp = _Packet._SubNodeList[resultTagIndex]._SubNodeDescList[3]; int privilegeExp = Convert.ToInt32(rawStr_Exp.Substring(rawStr_Exp.IndexOf("*") + 1)); if(privilegeExp <= 0) { GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{44075}")); } else { int vipLevel = GameManager.gameManager.PlayerDataPool.VipCost; if (vipLevel < privilegeLv) { GUIData.AddNotifyData(StrDictionary.GetClientDictionaryString("#{44076}")); } else { string result = StrDictionary.GetClientDictionaryString("#{44073}", privilegeLv, privilegeMultiple); MessageBoxLogic.OpenOKCancelBox(result, null, ()=> { // 点击确认,跳转vip YuanBaoShopLogic.OpenVipPage(); }, null); } } } } } }