Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
        }
    }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
        private string GetVIPLevelGiftText(int level)
        {
            VIPPrivilege privilege = VIPTemplateManager.Instance.GetTemplate(level);

            return(privilege != null ? privilege.GiftItemId : string.Empty);
        }