private void UpdateBrowsedPrivilege(int curLev) { vipData.BrowsedPrivileges.Clear(); VIPPrivilege oldPrivilege = VIPTemplateManager.Instance.GetTemplate(curLev - 1); VIPPrivilege privilege = VIPTemplateManager.Instance.GetTemplate(curLev); Dictionary <string, int> .Enumerator numEnumerator = privilege.GetNumEnumerator(); Dictionary <string, float> .Enumerator percentEnumerator = privilege.GetPercentEnumerator(); while (numEnumerator.MoveNext()) { string key = numEnumerator.Current.Key; if (vipData.VipCertificates.Contains(key)) { int value = privilege.GetTotalNum(key); // + VIPTemplateManager.Instance.GetMonthVIPNum(key); //if (value > 0) AppendPrivilegeItem(key, value, curLev); AppendOrUpdatePrivilegeItem(ref vipData.BrowsedPrivileges, key, value, value > 0, oldPrivilege); } } while (percentEnumerator.MoveNext()) { string key = percentEnumerator.Current.Key; if (vipData.VipCertificates.Contains(key)) { float value = privilege.GetPercent(key); bool valid = key.Equals(VIPPrivilegeKey.ShopDiscount) ? value > 0 && value < 1 : value > 0; //if (value > 0) AppendPrivilegeItem(key, value, curLev); AppendOrUpdatePrivilegeItem(ref vipData.BrowsedPrivileges, key, value, valid, oldPrivilege); } } OnEquipmentGift(ref vipData.BrowsedPrivileges, privilege, oldPrivilege); vipData.CheckedLevel = curLev; }
private Dictionary <string, VIPPrivilegeItem> GetPrivilegeDict(VIPPrivilege profile) { Dictionary <string, VIPPrivilegeItem> privileges = new Dictionary <string, VIPPrivilegeItem>(); if (profile == null) { return(privileges); } Dictionary <string, int> .Enumerator numEnumerator = profile.GetNumEnumerator(); Dictionary <string, float> .Enumerator percentEnumerator = profile.GetPercentEnumerator(); while (numEnumerator.MoveNext()) { string key = numEnumerator.Current.Key; if (vipData.VipCertificates.Contains(key)) { int value = profile.GetTotalNum(key); // + VIPTemplateManager.Instance.GetMonthVIPNum(key); if (value > 0) { VIPPrivilegeItem item = new VIPPrivilegeItem(); item.Value = value; privileges.Add(key, item); } } } while (percentEnumerator.MoveNext()) { string key = percentEnumerator.Current.Key; if (vipData.VipCertificates.Contains(key)) { float value = profile.GetPercent(key); bool valid = key.Equals(VIPPrivilegeKey.ShopDiscount) ? value > 0 && value < 1 : value > 0; if (valid) { VIPPrivilegeItem item = new VIPPrivilegeItem(); item.Percent = value; privileges.Add(key, item); } } } return(privileges); }
private void LoadDefaultValues() { int totalCards = Enum.GetNames(typeof(VIPCard)).Length; int totalPrivillage = Enum.GetNames(typeof(VIP_Priillage)).Length; for (int i = 0; i < totalCards; i++) { List <VIPPrivilegeData> privilegeList = new List <VIPPrivilegeData>(); for (int k = 0; k < 3; k++) { VIPPrivilegeData data = new VIPPrivilegeData(); data.vipCard = (VIPCard)i; int day = 30; if (k == 0) { day = 30; if (data.vipCard == VIPCard.Bronze) { data.amount = "380"; } else if (data.vipCard == VIPCard.Silver) { data.amount = "1580"; } else { data.amount = "3880"; } } else if (k == 1) { day = 90; if (data.vipCard == VIPCard.Bronze) { data.amount = "980"; } else if (data.vipCard == VIPCard.Silver) { data.amount = "3880"; } else { data.amount = "9480"; } } else { day = 365; if (data.vipCard == VIPCard.Bronze) { data.amount = "3180"; } else if (data.vipCard == VIPCard.Silver) { data.amount = "11380"; } else { data.amount = "27880"; } } data.day = day; data.vipPrivilege = new VIPPrivilege[totalPrivillage]; for (int j = 0; j < totalPrivillage; j++) { VIPPrivilege privilege = new VIPPrivilege(); if (j >= (int)VIP_Priillage.ExlusiveEmoji) { switch ((VIP_Priillage)j) { case VIP_Priillage.FreeEmoji: { switch (day) { case 30: { if (data.vipCard == VIPCard.Bronze) { privilege.counterValue = 200; } else if (data.vipCard == VIPCard.Silver) { privilege.counterValue = 800; } else { privilege.counterValue = 1200; } } break; case 90: { if (data.vipCard == VIPCard.Bronze) { privilege.counterValue = 600; } else if (data.vipCard == VIPCard.Silver) { privilege.counterValue = 2400; } else { privilege.counterValue = 3600; } } break; default: { if (data.vipCard == VIPCard.Bronze) { privilege.counterValue = 2400; } else if (data.vipCard == VIPCard.Silver) { privilege.counterValue = 9600; } else { privilege.counterValue = 14400; } } break; } } break; case VIP_Priillage.FreeTimeBank: { switch (day) { case 30: { if (data.vipCard == VIPCard.Bronze) { privilege.counterValue = 15; } else if (data.vipCard == VIPCard.Silver) { privilege.counterValue = 80; } else { privilege.counterValue = 120; } } break; case 90: { if (data.vipCard == VIPCard.Bronze) { privilege.counterValue = 45; } else if (data.vipCard == VIPCard.Silver) { privilege.counterValue = 240; } else { privilege.counterValue = 360; } } break; default: { if (data.vipCard == VIPCard.Bronze) { privilege.counterValue = 180; } else if (data.vipCard == VIPCard.Silver) { privilege.counterValue = 960; } else { privilege.counterValue = 1440; } } break; } } break; default: if ((VIP_Priillage)j == VIP_Priillage.ClubCreationLimit && data.vipCard == VIPCard.Bronze) { privilege.counterValue = 1; } else { privilege.counterValue = 3; } break; } } else { if (data.vipCard == VIPCard.Bronze) { if (j <= (int)VIP_Priillage.MoreLoginRewards) { privilege.isAvailable = true; } else { privilege.isAvailable = false; } } else if (data.vipCard == VIPCard.Silver) { if (j <= (int)VIP_Priillage.RivalDataDisplay) { privilege.isAvailable = true; } else { privilege.isAvailable = false; } } else { privilege.isAvailable = true; } } data.vipPrivilege[j] = privilege; } privilegeList.Add(data); } vipPrivilegeData.Add(privilegeList); } }
private void OnEquipmentGift(ref Dictionary <string, VIPPrivilegeItem> privileges, VIPPrivilege privilege, VIPPrivilege comparer) { VIPPrivilegeItem item = privileges.ContainsKey(VIPPrivilegeKey.EatEquipmentGift) ? privileges[VIPPrivilegeKey.EatEquipmentGift] : new VIPPrivilegeItem(); if (!string.IsNullOrEmpty(privilege.EatEquipmentGift)) { item.Format = GetPrivilegeKeyWords(VIPPrivilegeKey.EatEquipmentGift); item.Status = comparer == null ? PrivilegeStatus.Ordinary : (string.IsNullOrEmpty(comparer.EatEquipmentGift) ? PrivilegeStatus.Newly : (comparer.EatEquipmentGift.Equals(privilege.EatEquipmentGift) ? PrivilegeStatus.Ordinary : PrivilegeStatus.HasChanged)); if (!privileges.ContainsKey(VIPPrivilegeKey.EatEquipmentGift)) { privileges.Add(VIPPrivilegeKey.EatEquipmentGift, item); } item.DataString = privilege.EatEquipmentGift; } else { privileges.Remove(VIPPrivilegeKey.EatEquipmentGift); } }
private void AppendOrUpdatePrivilegeItem(ref Dictionary <string, VIPPrivilegeItem> privileges, string key, object value, bool valid, VIPPrivilege comparer) { Dictionary <string, VIPPrivilegeItem> oldPrivileges = GetPrivilegeDict(comparer); if (!valid) { privileges.Remove(key); return; } bool has = privileges.TryGetValue(key, out VIPPrivilegeItem item); if (item == null) { item = new VIPPrivilegeItem(); } if (comparer == null || (comparer != null && !oldPrivileges.ContainsKey(key))) { item.Status = comparer == null ? PrivilegeStatus.Ordinary : PrivilegeStatus.Newly; } else { if (value is int) { int oldValue = comparer.GetTotalNum(key); item.Status = oldValue != (int)value ? PrivilegeStatus.HasChanged : PrivilegeStatus.Ordinary; } else { float oldValue = comparer.GetPercent(key); item.Status = oldValue != (float)value ? PrivilegeStatus.HasChanged : PrivilegeStatus.Ordinary; } } item.Format = GetPrivilegeKeyWords(key); item.Value = value is int?(int)value : item.Value; item.Percent = value is float?(float)value : item.Percent; if (!has) { privileges.Add(key, item); } }
private string GetVIPLevelGiftText(int level) { VIPPrivilege privilege = VIPTemplateManager.Instance.GetTemplate(level); return(privilege != null ? privilege.GiftItemId : string.Empty); }