Пример #1
0
        public static PrestigeMedalData GetPrestigeMedalData(GameClient client)
        {
            PrestigeMedalData result;

            if (GameFuncControlManager.IsGameFuncDisabled(GameFuncType.System1Dot4Dot1))
            {
                result = null;
            }
            else if (!GlobalNew.IsGongNengOpened(client, GongNengIDs.PrestigeMedal, false))
            {
                result = null;
            }
            else
            {
                PrestigeMedalData prestigeMedalData = client.ClientData.prestigeMedalData;
                if (prestigeMedalData == null)
                {
                    prestigeMedalData = new PrestigeMedalData();
                    List <int>             data = Global.GetRoleParamsIntListFromDB(client, "PrestigeMedal");
                    PrestigeMedalBasicData basic;
                    if (data == null || data.Count <= 0)
                    {
                        basic = PrestigeMedalManager.GetPrestigeMedalBasicDataByID(PrestigeMedalManager._defaultMedalID);
                        prestigeMedalData.RoleID  = client.ClientData.RoleID;
                        prestigeMedalData.MedalID = basic.MedalID;
                        PrestigeMedalManager.ModifyPrestigeMedalData(client, prestigeMedalData, true);
                    }
                    else
                    {
                        prestigeMedalData.RoleID     = client.ClientData.RoleID;
                        prestigeMedalData.MedalID    = data[0];
                        prestigeMedalData.LifeAdd    = data[1];
                        prestigeMedalData.AttackAdd  = data[2];
                        prestigeMedalData.DefenseAdd = data[3];
                        prestigeMedalData.HitAdd     = data[4];
                        if (prestigeMedalData.MedalID > PrestigeMedalManager._prestigeMedalBasicList.Count)
                        {
                            prestigeMedalData.UpResultType = 3;
                            basic = PrestigeMedalManager.GetPrestigeMedalBasicDataByID(PrestigeMedalManager._prestigeMedalBasicList.Count);
                        }
                        else
                        {
                            basic = PrestigeMedalManager.GetPrestigeMedalBasicDataByID(prestigeMedalData.MedalID);
                        }
                    }
                    prestigeMedalData.Diamond           = PrestigeMedalManager.GetPrestigeMedalDiamond(client, PrestigeMedalManager.GetPrestigeMedalUpCount(client));
                    prestigeMedalData.Prestige          = basic.PrestigeCost;
                    client.ClientData.prestigeMedalData = prestigeMedalData;
                }
                prestigeMedalData.PrestigeLeft = GameManager.ClientMgr.GetShengWangValue(client);
                result = prestigeMedalData;
            }
            return(result);
        }