using System; using System.Collections.Generic; using GCGame.Table; using UnityEngine; using UnityEngine.UI; using System.Collections; using Games.Events; public class VipInfo : MonoBehaviour { public static VipInfo Instance; public Text RechargeTip; public RectTransform SliderBack; public RectTransform SliderFill; public GameObject OpenVipBtn; public GameObject OpenChargeBtn; public GameObject _SliverVipBG; public GameObject _GlodenVipBG; public List _ViplevelSpriteList; public Image _VipLevelIcon; void Awake() { Instance = this; Hashtable calbackMoveparam1 = new Hashtable(); calbackMoveparam1["name"] = "VipInfo"; MessageEventCallBack fun1 = ReFresh; calbackMoveparam1.Add("callFun", fun1); Games.Events.EventDispatcher.Instance.AddMessageEvent(Games.Events.EventId.VIPReWardState, calbackMoveparam1); } void OnDestroy() { Instance = null; Games.Events.EventDispatcher.Instance.RemoveMessage(Games.Events.EventId.VIPReWardState, "VipInfo"); } public void ReFresh(Hashtable add, Hashtable send) { OnEnable(); } void OnEnable() { ChargeInfo(Singleton.Instance.MainPlayer.VipCost); ShowYBPanel(); } public void ShowYBPanel() { Click_Charge(); } void ChargeInfo(int vipLevel) { _SliverVipBG.SetActive(vipLevel <= 8); _GlodenVipBG.SetActive(vipLevel > 8); _VipLevelIcon.overrideSprite = _ViplevelSpriteList[vipLevel]; var MaxLevel = TableManager.GetVipBook().Count - 1; //0开始 if(vipLevel >= MaxLevel) { SliderFill.sizeDelta = new Vector2(SliderBack.sizeDelta.x, SliderBack.sizeDelta.y); RechargeTip.text = StrDictionary.GetClientDictionaryString("#{40999}"); return; } Tab_VipBook nextVipLevelBook = TableManager.GetVipBookByID(vipLevel + 1, 0); if (nextVipLevelBook == null) { SliderFill.sizeDelta = new Vector2(SliderBack.sizeDelta.x, SliderBack.sizeDelta.y); RechargeTip.text = StrDictionary.GetClientDictionaryString("#{40999}"); return; } var len = Mathf.Clamp(GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.PayCount * 1.0f / (nextVipLevelBook.NeedPay * 1.0f), 0, 1); SliderFill.sizeDelta = new Vector2(SliderBack.sizeDelta.x * len, SliderBack.sizeDelta.y); RechargeTip.text = StrDictionary.GetClientDictionaryString("#{67000}", GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.PayCount, nextVipLevelBook.NeedPay - GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.PayCount, vipLevel + 1); } public void Click_Charge() { _RechaegrBtn.SetActive(false); _PrivilegeBtn.SetActive(true); _PrivilegeVipPanel.SetActive(false); _RechargePanel.SetActive(true); //YuanBaoShopLogic.OpenChargePage(); } public GameObject _RechargePanel; //充值页面 public GameObject _PrivilegeVipPanel; //VIP页面 public GameObject _RechaegrBtn; public GameObject _PrivilegeBtn; public void Click_OpenVIPRoot() { _RechaegrBtn.SetActive(true); _PrivilegeBtn.SetActive(false); _PrivilegeVipPanel.SetActive(true); _RechargePanel.SetActive(false); } }