using System; using System.Globalization; using UnityEngine; using UnityEngine.Events; public class UserData { public enum From { ios, } public UnityEvent NickChanged = new UnityEvent (); public UnityEvent ClanChanged = new UnityEvent(); public UnityEvent CoinChanged = new UnityEvent(); public UnityEvent DiamondChanged = new UnityEvent (); public int id; public string snsId; public string email; public string deviceId; private string _nick = ""; public int exp; public int win; public int lose; public string from = "ios"; private int _rank; private int _coin; private int _diamond; public int rankIndex; public bool vipNextRound; private double _vipExpireDay; private bool _isVIP; private bool _isFullVIP; private IFormatProvider culture = new CultureInfo("zh-cn", true); public int[] craftSelectLimit; public bool isLogin; public UserData () { } public int GetBadge() { return GetBadgeByRank(rank); } public static int GetBadgeByRank(int rank) { int badge = (int)Mathf.Floor((float)rank/1500f); badge += 1; if(badge > 30) { badge = 30; } return badge; } public static Sprite GetBadgeIcon(int rank) { return Resources.Load("Textures/BadgeIcon/badge"+StringUtil.FillZero(GetBadgeByRank(rank), 4)); } public string idStr { get{ return "#" + id; } } private int m_ClanId; public int clanId { set{ m_ClanId = value; ClanChanged.Invoke (); } get{ return m_ClanId; } } public string nick { set{ _nick = NickFormat(value, id); NickChanged.Invoke (); } get{ return _nick; } } public static string NickFormat(string nick, int userId) { if (StringUtil.Empty (nick)) return "#"+userId; return nick; } public static string NickFormat(LitJson.JsonData jsonNick, int userId) { if (jsonNick != null) return NickFormat (WWW.UnEscapeURL(jsonNick.ToString()), userId); return NickFormat(null, userId); } public int rank { set{ _rank = value; if (id != Session.GetInstance ().myUserData.id) return; RankNum[] rankNums = GameObject.FindObjectsOfType(); for(int i=0; i 0); _vipExpireDay = ts.TotalDays; // _isFullVIP = (ts.TotalDays > 30); if (id != Session.GetInstance ().myUserData.id) return; CraftSelectionItem[] craftItems = GameObject.FindObjectsOfType(); for(int i=0; i(); for(int i=0; i diamond) { BuyDiamondPanel.Show(); return false; } } else if(data.GetCurrency() == BuyUtil.Currency.Coin) { if(data.GetPrice() > coin) { BuyCoinPanel.Show(); return false; } } return true; } public override string ToString () { return string.Format ("[UserData: nick={0}, rank={1}, id={2}", nick, rank, id); } }